The table that follows summarizes the Scheme syntactic forms and procedures described in Chapters 4 through 8. It shows the category of the form and the page number where it is defined. The category states whether the form describes a syntactic form or a procedure.
| Form | Category | Page |
|---|---|---|
| | ||
| ' obj | syntax | 121 |
| (* num …) | procedure | 143 |
| (+ num …) | procedure | 142 |
| , obj | syntax | 122 |
| , @obj | syntax | 122 |
| (− num1) | procedure | 143 |
| (− num1 num2 num3 …) | procedure | 143 |
| (/ num1) | procedure | 143 |
| (/ num1 num2 num3 …) | procedure | 143 |
| (< real1 real2 real3 …) | procedure | 141 |
| (<= real1 real2 real3 …) | procedure | 141 |
| (= num1 num2 num3 …) | procedure | 141 |
| (> real1 real2 real3 …) | procedure | 141 |
| (>= real1 real2 real3 …) | procedure | 141 |
| ‘ obj | syntax | 122 |
| (abs real) | procedure | 146 |
| (acos num) | procedure | 152 |
| (and exp …) | syntax | 97 |
| (angle num) | procedure | 150 |
| (append list …) | procedure | 136 |
| (apply procedure obj … list) | procedure | 95 |
| (asin num) | procedure | 152 |
| (assoc obj alist) | procedure | 138 |
| (assq obj alist) | procedure | 138 |
| (assv obj alist) | procedure | 138 |
| (atan num) | procedure | 152 |
| (atan real1 real2) | procedure | 152 |
| (begin exp1 exp2 …) | syntax | 96 |
| (boolean? obj ) | procedure | 129 |
| (bound-identifier=? identifier1 identifier2) | procedure | 193 |
| (caaaar pair) | procedure | 134 |
| (caaadr pair) | procedure | 134 |
| (caaar pair) | procedure | 134 |
| (caadar pair) | procedure | 134 |
| (caaddr pair) | procedure | 134 |
| (caadr pair) | procedure | 134 |
| (caar pair) | procedure | 134 |
| (cadaar pair) | procedure | 134 |
| (cadadr pair) | procedure | 134 |
| (cadar pair) | procedure | 134 |
| (caddar pair) | procedure | 134 |
| (cadddr pair) | procedure | 134 |
| (caddr pair) | procedure | 134 |
| (cadr pair) | procedure | 134 |
| (call-with-current-continuation procedure) | procedure | 104 |
| (call-with-input-file filename proc) | procedure | 172 |
| (call-with-output-file filename proc) | procedure | 176 |
| (call-with-values producer consumer) | procedure | 111 |
| (car pair) | procedure | 133 |
| (case exp0 clause1 clause2 …) | syntax | 99 |
| (cdaaar pair) | procedure | 134 |
| (cdaadr pair) | procedure | 134 |
| (cdaar pair) | procedure | 134 |
| (cdadar pair) | procedure | 134 |
| (cdaddr pair) | procedure | 134 |
| (cdadr pair) | procedure | 134 |
| (cdar pair) | procedure | 134 |
| (cddaar pair) | procedure | 134 |
| (cddadr pair) | procedure | 134 |
| (cddar pair) | procedure | 134 |
| (cdddar pair) | procedure | 134 |
| (cddddr pair) | procedure | 134 |
| (cdddr pair) | procedure | 134 |
| (cddr pair) | procedure | 134 |
| (cdr pair) | procedure | 133 |
| (ceiling real) | procedure | 146 |
| (char->integer char) | procedure | 156 |
| (char-alphabetic? char) | procedure | 155 |
| (char-ci<=? char1 char2 char3 …) | procedure | 154 |
| (char-ci<? char1 char2 char3 …) | procedure | 154 |
| (char-ci=? char1 char2 char3 …) | procedure | 154 |
| (char-ci>=? char1 char2 char3 …) | procedure | 154 |
| (char-ci>? char1 char2 char3 …) | procedure | 154 |
| (char-downcase char) | procedure | 156 |
| (char-lower-case? letter) | procedure | 155 |
| (char-numeric? char) | procedure | 155 |
| (char-ready?) | procedure | 175 |
| (char-ready? input-port) | procedure | 175 |
| (char-upcase char) | procedure | 156 |
| (char-upper-case? letter) | procedure | 155 |
| (char-whitespace? char) | procedure | 156 |
| (char<=? char1 char2 char3 …) | procedure | 153 |
| (char<? char1 char2 char3 …) | procedure | 153 |
| (char=? char1 char2 char3 …) | procedure | 153 |
| (char>=? char1 char2 char3 …) | procedure | 153 |
| (char>? char1 char2 char3 …) | procedure | 153 |
| (char? obj ) | procedure | 131 |
| (close-input-port input-port) | procedure | 172 |
| (close-output-port output-port) | procedure | 175 |
| (complex? obj ) | procedure | 130 |
| (cond clause1 clause2 …) | syntax | 98 |
| (cons obj1 obj2) | procedure | 133 |
| constant | syntax | 121 |
| (cos num) | procedure | 152 |
| (current-input-port) | procedure | 171 |
| (current-output-port) | procedure | 175 |
| (datum->syntax-object template-identifier obj ) | procedure | 197 |
| (define var exp) | syntax | 89 |
| (define (var0 var1 …) exp1 exp2 …) | syntax | 89 |
| (define (var0 . varr) exp1 exp2 …) | syntax | 89 |
| (define (var0 var1 var2 … . varr) exp1 exp2 …) | syntax | 89 |
| (define-syntax keyword exp) | syntax | 184 |
| (delay exp) | syntax | 108 |
| (denominator rat) | procedure | 149 |
| (display obj ) | procedure | 178 |
| (display obj output-port) | procedure | 178 |
| (do ((var val update) …) (test res …) exp …) | syntax | 101 |
| (dynamic-wind in body out) | procedure | 105 |
| (eof-object? obj ) | procedure | 174 |
| (eq? obj1 obj2) | procedure | 123 |
| (equal? obj1 obj2) | procedure | 127 |
| (eqv? obj1 obj2) | procedure | 125 |
| (eval obj env-spec) | procedure | 116 |
| (even? int) | procedure | 145 |
| (exact->inexact num) | procedure | 148 |
| (exact? num) | procedure | 141 |
| (exp num) | procedure | 151 |
| (expt num1 num2) | procedure | 148 |
| (floor real) | procedure | 146 |
| (fluid-let-syntax ((keyword exp) …) form1 form2 …) | syntax | 186 |
| (for-each procedure list1 list2 …) | procedure | 103 |
| (force promise) | procedure | 109 |
| (free-identifier=? identifier1 identifier2) | procedure | 193 |
| (gcd int …) | procedure | 147 |
| (generate-temporaries list) | procedure | 199 |
| (identifier? obj ) | procedure | 193 |
| (if test consequent alternative) | syntax | 97 |
| (if test consequent) | syntax | 97 |
| (imag-part num) | procedure | 150 |
| (inexact->exact num) | procedure | 148 |
| (inexact? num) | procedure | 141 |
| (input-port? obj ) | procedure | 171 |
| (integer->char int) | procedure | 158 |
| (integer? obj ) | procedure | 130 |
| (interaction-environment) | procedure | 117 |
| (lambda formals exp1 exp2 …) | syntax | 86 |
| (lcm int …) | procedure | 147 |
| (length list) | procedure | 135 |
| (let ((var val) …) exp1 exp2 …) | syntax | 87 |
| (let name ((var val) …) exp1 exp2 …) | syntax | 100 |
| (let* ((var val) …) exp1 exp2 …) | syntax | 88 |
| (let-syntax ((keyword exp) …) form1 form2 …) | syntax | 185 |
| (letrec ((var val) …) exp1 exp2 …) | syntax | 88 |
| (letrec-syntax ((keyword exp) …) form1 form2 …) | syntax | 185 |
| (list obj …) | procedure | 134 |
| (list->string list) | procedure | 163 |
| (list->vector list) | procedure | 166 |
| (list-ref list n) | procedure | 135 |
| (list-tail list n) | procedure | 135 |
| (list? obj ) | procedure | 134 |
| (load filename) | procedure | 179 |
| (log num) | procedure | 151 |
| (magnitude num) | procedure | 150 |
| (make-polar real1 real2) | procedure | 150 |
| (make-rectangular real1 real2) | procedure | 150 |
| (make-string n) | procedure | 160 |
| (make-string n char) | procedure | 160 |
| (make-vector n) | procedure | 164 |
| (make-vector n obj ) | procedure | 164 |
| (map procedure list1 list2 …) | procedure | 102 |
| (max real1 real2 …) | procedure | 147 |
| (member obj list) | procedure | 137 |
| (memq obj list) | procedure | 137 |
| (memv obj list) | procedure | 137 |
| (min real1 real2 …) | procedure | 147 |
| (modulo int1 int2) | procedure | 145 |
| (negative? real) | procedure | 144 |
| (newline) | procedure | 178 |
| (newline output-port) | procedure | 178 |
| (not obj ) | procedure | 97 |
| (null-environment version) | procedure | 117 |
| (null? obj ) | procedure | 129 |
| (number->string num) | procedure | 153 |
| (number->string num radix ) | procedure | 153 |
| (number? obj ) | procedure | 130 |
| (numerator rat) | procedure | 149 |
| (odd? int) | procedure | 145 |
| (open-input-file filename) | procedure | 171 |
| (open-output-file filename) | procedure | 175 |
| (or exp …) | syntax | 98 |
| (output-port? obj ) | procedure | 175 |
| (pair? obj ) | procedure | 130 |
| (peek-char) | procedure | 174 |
| (peek-char input-port) | procedure | 174 |
| (positive? real) | procedure | 144 |
| (procedure exp …) | syntax | 95 |
| (procedure? obj ) | procedure | 132 |
| (quasiquote obj ) | syntax | 122 |
| (quote obj ) | syntax | 121 |
| (quotient int1 int2) | procedure | 145 |
| (rational? obj ) | procedure | 130 |
| (rationalize real1 real2) | procedure | 149 |
| (read) | procedure | 173 |
| (read input-port) | procedure | 173 |
| (read-char) | procedure | 174 |
| (read-char input-port) | procedure | 174 |
| (real-part num) | procedure | 149 |
| (real? obj ) | procedure | 130 |
| (remainder int1 int2) | procedure | 145 |
| (reverse list) | procedure | 137 |
| (round real) | procedure | 146 |
| (scheme-report-environment version) | procedure | 117 |
| (set! var exp) | syntax | 91 |
| (set-car! pair obj ) | procedure | 133 |
| (set-cdr! pair obj ) | procedure | 134 |
| (sin num) | procedure | 152 |
| (sqrt num) | procedure | 151 |
| (string char …) | procedure | 160 |
| (string->list string) | procedure | 163 |
| (string->number string) | procedure | 152 |
| (string->number string radix ) | procedure | 152 |
| (string->symbol string) | procedure | 167 |
| (string-append string …) | procedure | 161 |
| (string-ci<=? string1 string2 string3 …) | procedure | 160 |
| (string-ci<? string1 string2 string3 …) | procedure | 160 |
| (string-ci=? string1 string2 string3 …) | procedure | 160 |
| (string-ci>=? string1 string2 string3 …) | procedure | 160 |
| (string-ci>? string1 string2 string3 …) | procedure | 160 |
| (string-copy string) | procedure | 161 |
| (string-fill! string char) | procedure | 162 |
| (string-length string) | procedure | 160 |
| (string-ref string n) | procedure | 161 |
| (string-set! string n char) | procedure | 161 |
| (string<=? string1 string2 string3 …) | procedure | 158 |
| (string<? string1 string2 string3 …) | procedure | 158 |
| (string=? string1 string2 string3 …) | procedure | 158 |
| (string>=? string1 string2 string3 …) | procedure | 158 |
| (string>? string1 string2 string3 …) | procedure | 158 |
| (string? obj ) | procedure | 131 |
| (substring string start end) | procedure | 162 |
| (symbol->string symbol) | procedure | 168 |
| (symbol? obj ) | procedure | 132 |
| (syntax template) | syntax | 192 |
| (syntax-case exp (literal …) clause …) | syntax | 191 |
| (syntax-object->datum obj ) | procedure | 197 |
| (syntax-rules (literal …) clause …) | syntax | 187 |
| (tan num) | procedure | 152 |
| (transcript-off) | procedure | 179 |
| (transcript-on filename) | procedure | 179 |
| (truncate real) | procedure | 146 |
| (unquote obj ) | syntax | 122 |
| (unquote-splicing obj ) | syntax | 122 |
| (values obj …) | procedure | 110 |
| variable | syntax | 85 |
| (vector obj …) | procedure | 164 |
| (vector->list vector) | procedure | 166 |
| (vector-fill! vector obj ) | procedure | 165 |
| (vector-length vector) | procedure | 164 |
| (vector-ref vector n) | procedure | 165 |
| (vector-set! vector n obj ) | procedure | 165 |
| (vector? obj ) | procedure | 132 |
| (with-input-from-file filename thunk) | procedure | 173 |
| (with-output-to-file filename thunk) | procedure | 177 |
| (with-syntax ((pattern val) …) exp1 exp2 …) | syntax | 196 |
| (write obj ) | procedure | 177 |
| (write obj output-port) | procedure | 177 |
| (write-char char) | procedure | 178 |
| (write-char char output-port) | procedure | 178 |
| (zero? num) | procedure | 144 |