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.
All page numbers appearing here refer to the printed version of this book and also serve as hypertext links to the corresponding locations in the electronic version of this book.
| Form | Category | Page |
|---|---|---|
| 'obj | syntax | 83 |
| (* num ...) | procedure | 125 |
| (+ num ...) | procedure | 125 |
| ,obj | syntax | 83 |
| ,@obj | syntax | 83 |
| (- num1) | procedure | 125 |
| (- num1 num2 num3 ...) | procedure | 125 |
| (/ num1) | procedure | 126 |
| (/ num1 num2 num3 ...) | procedure | 126 |
| (< real1 real2 real3 ...) | procedure | 124 |
| (<= real1 real2 real3 ...) | procedure | 124 |
| (= num1 num2 num3 ...) | procedure | 124 |
| (> real1 real2 real3 ...) | procedure | 124 |
| (>= real1 real2 real3 ...) | procedure | 124 |
| `obj | syntax | 83 |
| (abs real) | procedure | 129 |
| (acos num) | procedure | 133 |
| (and exp ...) | syntax | 87 |
| (angle num) | procedure | 132 |
| (append list ...) | procedure | 119 |
| (apply procedure obj ... list) | procedure | 85 |
| (asin num) | procedure | 133 |
| (assoc obj alist) | procedure | 121 |
| (assq obj alist) | procedure | 121 |
| (assv obj alist) | procedure | 121 |
| (atan num) | procedure | 134 |
| (atan real1 real2) | procedure | 134 |
| (begin exp1 exp2 ...) | syntax | 85 |
| (boolean? obj) | procedure | 113 |
| (bound-identifier=? identifier1 identifier2) | procedure | 170 |
| (caaaar pair) | procedure | 117 |
| (caaadr pair) | procedure | 117 |
| (caaar pair) | procedure | 117 |
| (caadar pair) | procedure | 117 |
| (caaddr pair) | procedure | 117 |
| (caadr pair) | procedure | 117 |
| (caar pair) | procedure | 117 |
| (cadaar pair) | procedure | 117 |
| (cadadr pair) | procedure | 117 |
| (cadar pair) | procedure | 117 |
| (caddar pair) | procedure | 117 |
| (cadddr pair) | procedure | 117 |
| (caddr pair) | procedure | 117 |
| (cadr pair) | procedure | 117 |
| (call-with-current-continuation procedure) | procedure | 93 |
| (call-with-input-file filename proc) | procedure | 152 |
| (call-with-output-file filename proc) | procedure | 156 |
| (call-with-values producer consumer) | procedure | 99 |
| (call/cc procedure) | procedure | 93 |
| (car pair) | procedure | 116 |
| (case exp0 clause1 clause2 ...) | syntax | 89 |
| (cdaaar pair) | procedure | 117 |
| (cdaadr pair) | procedure | 117 |
| (cdaar pair) | procedure | 117 |
| (cdadar pair) | procedure | 117 |
| (cdaddr pair) | procedure | 117 |
| (cdadr pair) | procedure | 117 |
| (cdar pair) | procedure | 117 |
| (cddaar pair) | procedure | 117 |
| (cddadr pair) | procedure | 117 |
| (cddar pair) | procedure | 117 |
| (cdddar pair) | procedure | 117 |
| (cddddr pair) | procedure | 117 |
| (cdddr pair) | procedure | 117 |
| (cddr pair) | procedure | 117 |
| (cdr pair) | procedure | 117 |
| (ceiling real) | procedure | 128 |
| (char->integer char) | procedure | 138 |
| (char-alphabetic? char) | procedure | 136 |
| (char-ci<=? char1 char2 char3 ...) | procedure | 136 |
| (char-ci<? char1 char2 char3 ...) | procedure | 136 |
| (char-ci=? char1 char2 char3 ...) | procedure | 136 |
| (char-ci>=? char1 char2 char3 ...) | procedure | 136 |
| (char-ci>? char1 char2 char3 ...) | procedure | 136 |
| (char-downcase char) | procedure | 137 |
| (char-lower-case? letter) | procedure | 137 |
| (char-numeric? char) | procedure | 136 |
| (char-ready?) | procedure | 154 |
| (char-ready? input-port) | procedure | 154 |
| (char-upcase char) | procedure | 137 |
| (char-upper-case? letter) | procedure | 137 |
| (char-whitespace? char) | procedure | 137 |
| (char<=? char1 char2 char3 ...) | procedure | 135 |
| (char<? char1 char2 char3 ...) | procedure | 135 |
| (char=? char1 char2 char3 ...) | procedure | 135 |
| (char>=? char1 char2 char3 ...) | procedure | 135 |
| (char>? char1 char2 char3 ...) | procedure | 135 |
| (char? obj) | procedure | 115 |
| (close-input-port input-port) | procedure | 152 |
| (close-output-port output-port) | procedure | 155 |
| (complex? obj) | procedure | 114 |
| (cond clause1 clause2 ...) | syntax | 88 |
| (cons obj1 obj2) | procedure | 116 |
| constant | syntax | 83 |
| (cos num) | procedure | 133 |
| (current-input-port) | procedure | 151 |
| (current-output-port) | procedure | 155 |
| (datum->syntax-object template-identifier obj) | procedure | 174 |
| (define var exp) | syntax | 76 |
| (define (var0 var1 ...) exp1 exp2 ...) | syntax | 76 |
| (define (var0 . varr) exp1 exp2 ...) | syntax | 76 |
| (define (var0 var1 var2 ... . varr) exp1 exp2 ...) | syntax | 76 |
| (define-syntax keyword exp) | syntax | 162 |
| (delay exp) | syntax | 97 |
| (denominator rat) | procedure | 131 |
| (display obj) | procedure | 157 |
| (display obj output-port) | procedure | 157 |
| (do ((var val update) ...) (test res ...) exp ...) | syntax | 90 |
| (dynamic-wind in body out) | procedure | 94 |
| (eof-object? obj) | procedure | 154 |
| (eq? obj1 obj2) | procedure | 107 |
| (equal? obj1 obj2) | procedure | 111 |
| (eqv? obj1 obj2) | procedure | 109 |
| (eval obj) | procedure | 103 |
| (even? int) | procedure | 127 |
| (exact->inexact num) | procedure | 130 |
| (exact? num) | procedure | 124 |
| (exp num) | procedure | 133 |
| (expt num1 num2) | procedure | 130 |
| (floor real) | procedure | 128 |
| (fluid-let-syntax ((keyword exp) ...) form1 form2 ...) | syntax | 164 |
| (for-each procedure list1 list2 ...) | procedure | 92 |
| (force promise) | procedure | 97 |
| (free-identifier=? identifier1 identifier2) | procedure | 170 |
| (gcd int ...) | procedure | 129 |
| (generate-temporaries list) | procedure | 175 |
| (identifier? obj) | procedure | 170 |
| (if test consequent alternative) | syntax | 86 |
| (if test consequent) | syntax | 86 |
| (imag-part num) | procedure | 131 |
| (inexact->exact num) | procedure | 130 |
| (inexact? num) | procedure | 124 |
| (input-port? obj) | procedure | 151 |
| (integer->char int) | procedure | 139 |
| (integer? obj) | procedure | 114 |
| (lambda formals exp1 exp2 ...) | syntax | 73 |
| (lcm int ...) | procedure | 129 |
| (length list) | procedure | 118 |
| (let ((var val) ...) exp1 exp2 ...) | syntax | 74 |
| (let name ((var val) ...) exp1 exp2 ...) | syntax | 89 |
| (let* ((var val) ...) exp1 exp2 ...) | syntax | 75 |
| (let-syntax ((keyword exp) ...) form1 form2 ...) | syntax | 163 |
| (letrec ((var val) ...) exp1 exp2 ...) | syntax | 76 |
| (letrec-syntax ((keyword exp) ...) form1 form2 ...) | syntax | 163 |
| (list obj ...) | procedure | 118 |
| (list->string list) | procedure | 144 |
| (list->vector list) | procedure | 146 |
| (list-ref list n) | procedure | 118 |
| (list-tail list n) | procedure | 119 |
| (list? obj) | procedure | 118 |
| (load filename) | procedure | 158 |
| (log num) | procedure | 133 |
| (magnitude num) | procedure | 132 |
| (make-polar real1 real2) | procedure | 132 |
| (make-rectangular real1 real2) | procedure | 132 |
| (make-string n) | procedure | 141 |
| (make-string n char) | procedure | 141 |
| (make-vector n) | procedure | 145 |
| (make-vector n obj) | procedure | 145 |
| (map procedure list1 list2 ...) | procedure | 92 |
| (max real1 real2 ...) | procedure | 129 |
| (member obj list) | procedure | 120 |
| (memq obj list) | procedure | 120 |
| (memv obj list) | procedure | 120 |
| (min real1 real2 ...) | procedure | 129 |
| (modulo int1 int2) | procedure | 128 |
| (negative? real) | procedure | 127 |
| (newline) | procedure | 158 |
| (newline output-port) | procedure | 158 |
| (not obj) | procedure | 86 |
| (null? obj) | procedure | 113 |
| (number->string num) | procedure | 134 |
| (number->string num radix) | procedure | 134 |
| (number? obj) | procedure | 114 |
| (numerator rat) | procedure | 131 |
| (odd? int) | procedure | 127 |
| (open-input-file filename) | procedure | 151 |
| (open-output-file filename) | procedure | 155 |
| (or exp ...) | syntax | 87 |
| (output-port? obj) | procedure | 155 |
| (pair? obj) | procedure | 113 |
| (peek-char) | procedure | 153 |
| (peek-char input-port) | procedure | 153 |
| (positive? real) | procedure | 126 |
| (procedure exp ...) | syntax | 84 |
| (procedure? obj) | procedure | 115 |
| (quasiquote obj) | syntax | 83 |
| (quote obj) | syntax | 83 |
| (quotient int1 int2) | procedure | 127 |
| (rational? obj) | procedure | 114 |
| (rationalize real1 real2) | procedure | 131 |
| (read) | procedure | 153 |
| (read input-port) | procedure | 153 |
| (read-char) | procedure | 153 |
| (read-char input-port) | procedure | 153 |
| (real-part num) | procedure | 131 |
| (real? obj) | procedure | 114 |
| (remainder int1 int2) | procedure | 127 |
| (reverse list) | procedure | 120 |
| (round real) | procedure | 128 |
| (set! var exp) | syntax | 78 |
| (set-car! pair obj) | procedure | 117 |
| (set-cdr! pair obj) | procedure | 117 |
| (sin num) | procedure | 133 |
| (sqrt num) | procedure | 132 |
| (string char ...) | procedure | 141 |
| (string->list string) | procedure | 143 |
| (string->number string) | procedure | 134 |
| (string->number string radix) | procedure | 134 |
| (string->symbol string) | procedure | 147 |
| (string-append string ...) | procedure | 142 |
| (string-ci<=? string1 string2 string3 ...) | procedure | 141 |
| (string-ci<? string1 string2 string3 ...) | procedure | 141 |
| (string-ci=? string1 string2 string3 ...) | procedure | 141 |
| (string-ci>=? string1 string2 string3 ...) | procedure | 141 |
| (string-ci>? string1 string2 string3 ...) | procedure | 141 |
| (string-copy string) | procedure | 142 |
| (string-fill! string char) | procedure | 143 |
| (string-length string) | procedure | 141 |
| (string-ref string n) | procedure | 142 |
| (string-set! string n char) | procedure | 142 |
| (string<=? string1 string2 string3 ...) | procedure | 140 |
| (string<? string1 string2 string3 ...) | procedure | 140 |
| (string=? string1 string2 string3 ...) | procedure | 140 |
| (string>=? string1 string2 string3 ...) | procedure | 140 |
| (string>? string1 string2 string3 ...) | procedure | 140 |
| (string? obj) | procedure | 115 |
| (substring string start end) | procedure | 143 |
| (symbol->string symbol) | procedure | 148 |
| (symbol? obj) | procedure | 115 |
| (syntax template) | syntax | 169 |
| (syntax-case exp (literal ...) clause ...) | syntax | 168 |
| (syntax-object->datum obj) | procedure | 174 |
| (syntax-rules (literal ...) clause ...) | syntax | 164 |
| (tan num) | procedure | 133 |
| (transcript-off) | procedure | 158 |
| (transcript-on filename) | procedure | 158 |
| (truncate real) | procedure | 128 |
| (unquote obj) | syntax | 83 |
| (unquote-splicing obj) | syntax | 83 |
| (values obj ...) | procedure | 99 |
| variable | syntax | 73 |
| (vector obj ...) | procedure | 145 |
| (vector->list vector) | procedure | 146 |
| (vector-fill! vector obj) | procedure | 146 |
| (vector-length vector) | procedure | 145 |
| (vector-ref vector n) | procedure | 145 |
| (vector-set! vector n obj) | procedure | 145 |
| (vector? obj) | procedure | 115 |
| (with-input-from-file filename thunk) | procedure | 153 |
| (with-output-to-file filename thunk) | procedure | 157 |
| (with-syntax ((pattern val) ...) exp1 exp2 ...) | syntax | 172 |
| (write obj) | procedure | 157 |
| (write obj output-port) | procedure | 157 |
| (write-char char) | procedure | 157 |
| (write-char char output-port) | procedure | 157 |
| (zero? num) | procedure | 126 |
![]() |
R. Kent Dybvig The Scheme Programming Language, Second Edition © 1996. Electronically reproduced by permission of Prentice Hall, Upper Saddle River, New Jersey. http://www.scheme.com Illustrations © 1997 Jean-Pierre Hébert to order this book about this book |