Summary of Forms

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 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 . varrexp1 exp2 ...) syntax 89
(define (var0 var1 var2 ... . varrexp1 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