Index

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.

! (exclamation point), 8
" (double quote), 216
#!r6rs, 456
#' (syntax), 300
#, (unsyntax), 305
#,@ (unsyntax-splicing), 305
#; (datum comment), 455
#\, 211
#` (quasisyntax), 305
#|...|# (block comment), 455
#b (binary), 169
#d (decimal), 169
#f, 7, 36, 143
#o (octal), 169
#t, 7, 36, 143
#x (hexadecimal), 169
&assertion, 366
&condition, 362
&error, 367
&i/o, 371
&i/o-decoding, 375
&i/o-encoding, 376
&i/o-file-already-exists, 374
&i/o-file-does-not-exist, 374
&i/o-file-is-read-only, 374
&i/o-file-protection, 373
&i/o-filename, 373
&i/o-invalid-position, 372
&i/o-port, 375
&i/o-read, 372
&i/o-write, 372
&implementation-restriction, 369
&irritants, 368
&lexical, 370
&message, 368
&no-infinities, 376
&no-nans, 377
&non-continuable, 369
&serious, 366
&syntax, 370
&undefined, 371
&violation, 366
&warning, 367
&who, 369
' (quote), 17, 22, 59, 141
(), 7, 19
*, 16, 172
+, 16, 171
, (unquote), 142
,@ (unquote-splicing), 142
-, 16, 172
->, 8
. (dot), 19, 460
... (ellipsis), 61, 294, 297
/, 16, 172
; (comment), 7, 455
<, 170
<=, 170
=, 170
=>, 111, 112
>, 170
>=, 170
? (question mark), 8, 37
_ (underscore), 61, 296, 315
_ (underscore), 294, 297
` (quasiquote), 142
abs, 34, 178, 183
abstract objects, 53, 408
acos, 185
actual parameters, 27, 92
Algol 60, 6
and, 37, 62, 110
angle, 183
append, 46, 160
apply, 107
arbitrary precision, 167
asin, 185
assert, 359
assertion-violation, 358
assertion-violation?, 366
assignment, 102
assignments, 47, 102
assoc, 165
association list, 165, 166, 243, 404
assp, 166
assq, 165
assv, 165
atan, 185
atom?, 41
auxiliary keywords, 61, 294
base case, 41
be-like-begin, 313
begin, 51, 60, 101, 108
binary port, 257
binary trees, 155
binary-port?, 270
binding, 4
bitwise-and, 186
bitwise-arithmetic-shift, 190
bitwise-arithmetic-shift-left, 189
bitwise-arithmetic-shift-right, 189
bitwise-bit-count, 187
bitwise-bit-field, 189
bitwise-bit-set?, 188
bitwise-copy-bit, 188
bitwise-copy-bit-field, 189
bitwise-first-bit-set, 187
bitwise-if, 186
bitwise-ior, 186
bitwise-length, 187
bitwise-not, 186
bitwise-reverse-bit-field, 191
bitwise-rotate-bit-field, 190
bitwise-xor, 186
block buffering, 258
block comment ( #|...|# ), 455
block structure, 4
boolean syntax, 457
boolean values, 7
boolean=?, 243
boolean?, 150
bound-identifier=?, 302
brackets ( [ ] ), 7, 155
break, 308
buffer modes, 258
buffer-mode, 261
buffer-mode?, 262
bytevector syntax, 461
bytevector->sint-list, 238
bytevector->string, 286
bytevector->u8-list, 232
bytevector->uint-list, 238
bytevector-copy, 229
bytevector-copy!, 230
bytevector-fill!, 229
bytevector-ieee-double-native-ref, 239
bytevector-ieee-double-native-set!, 239
bytevector-ieee-double-ref, 240
bytevector-ieee-double-set!, 240
bytevector-ieee-single-native-ref, 239
bytevector-ieee-single-native-set!, 239
bytevector-ieee-single-ref, 240
bytevector-ieee-single-set!, 240
bytevector-length, 229
bytevector-s16-native-ref, 232
bytevector-s16-native-set!, 233
bytevector-s16-ref, 235
bytevector-s16-set!, 236
bytevector-s32-native-ref, 232
bytevector-s32-native-set!, 233
bytevector-s32-ref, 235
bytevector-s32-set!, 236
bytevector-s64-native-ref, 232
bytevector-s64-native-set!, 233
bytevector-s64-ref, 235
bytevector-s64-set!, 236
bytevector-s8-ref, 231
bytevector-s8-set!, 231
bytevector-sint-ref, 237
bytevector-sint-set!, 238
bytevector-u16-native-ref, 232
bytevector-u16-native-set!, 233
bytevector-u16-ref, 235
bytevector-u16-set!, 236
bytevector-u32-native-ref, 232
bytevector-u32-native-set!, 233
bytevector-u32-ref, 235
bytevector-u32-set!, 236
bytevector-u64-native-ref, 232
bytevector-u64-native-set!, 233
bytevector-u64-ref, 235
bytevector-u64-set!, 236
bytevector-u8-ref, 230
bytevector-u8-set!, 231
bytevector-uint-ref, 237
bytevector-uint-set!, 238
bytevector=?, 229
bytevector?, 155
C, 393
caaaar, 157
caaadr, 157
caaar, 157
caadar, 157
caaddr, 157
caadr, 157
caar, 157
caar, cadr, ..., cddddr, 34
cadaar, 157
cadadr, 157
cadar, 157
caddar, 157
cadddr, 157
caddr, 157
cadr, 31, 32, 34, 157
call-by-name, 408
call-by-value, 407
call-with-bytevector-output-port, 266
call-with-current-continuation, 123, 426
call-with-input-file, 281
call-with-output-file, 282
call-with-port, 272
call-with-string-output-port, 267
call-with-values, 130, 131
call/cc, 74, 122, 123, 126, 133, 425, 426
car, 18, 155, 156
case, 55, 113, 306
case-lambda, 94
cdaaar, 157
cdaadr, 157
cdaar, 157
cdadar, 157
cdaddr, 157
cdadr, 157
cdar, 157
cddaar, 157
cddadr, 157
cddar, 157
cdddar, 157
cddddr, 157
cdddr, 157
cddr, 31, 34, 157
cdr, 18, 38, 155, 156
ceiling, 177
char->integer, 215
char-alphabetic?, 213
char-ci<=?, 212
char-ci<?, 212
char-ci=?, 212
char-ci>=?, 212
char-ci>?, 212
char-downcase, 214
char-foldcase, 215
char-general-category, 214
char-lower-case?, 213
char-numeric?, 213
char-title-case?, 213
char-titlecase, 214
char-upcase, 214
char-upper-case?, 213
char-whitespace?, 213
char<=?, 212
char<?, 212
char=?, 212
char>=?, 212
char>?, 212
char?, 154
character syntax, 457
characters, 211
Chez Scheme, ix, 42
child type, 325
circular lists, 156
close-input-port, 285
close-output-port, 285
close-port, 270
codec, 257
command-line, 350
comments, 7, 455
Common Lisp, 6
compiler, 4
complete, see engines
complex numbers, 167, 412
complex?, 151, 167
compose, 34
compound condition, 362
cond, 39, 44, 111, 304
condition, 362
condition object, 361
condition type, 361
condition-accessor, 365
condition-irritants, 368
condition-message, 368
condition-predicate, 365
condition-who, 369
condition?, 362
conditionals, 109
conditions, 357
cons, 19, 156
cons cell, 155
cons*, 158
consing, 19
constant, 141
constants, 21, 141
continuation-passing style, 78, 418
continuations, 5, 73, 124, 421
control structures, 107
core syntactic forms, 4, 22, 59, 404
cos, 185
CPS, 78
current exception handler, 357
current-error-port, 263
current-input-port, 263
current-output-port, 263
cyclic lists, 56
d (double), 169
data, 141
datum comment ( #; ), 455
datum syntax, 455, 456
datum->syntax, 308, 317, 320
default protocol, 327
define, 30, 81, 100
define-condition-type, 364
define-enumeration, 250
define-integrable, 315
define-object, 408
define-record-type, 323, 328
define-structure, 318
define-syntax, 61, 291, 292, 389
defining syntactic extensions, 60
defun syntax, 33, 60
delay, 128
delayed evaluation, 408
delete-file, 286
delq!, 54
denominator, 181
describe-segment, 132
display, 285, 397
div, 175
div-and-mod, 175
div0, 176
div0-and-mod0, 176
divisors, 115, 116
do, 115, 312
dot ( . ), 19, 460
dotted pair, 20, 155
double, 27, 33
double quotes, 216
double-any, 30
double-cons, 27, 33
doubler, 33
doubly recursive, 70
dxdy, 131
dynamic allocation, 3
dynamic-wind, 124
ellipsis ( ... ), 61, 294
else, 111, 112, 113
empty list, 7, 19
endianness, 228
engines, 421
enum-set->list, 252
enum-set-complement, 254
enum-set-constructor, 251
enum-set-difference, 253
enum-set-indexer, 254
enum-set-intersection, 253
enum-set-member?, 253
enum-set-projection, 254
enum-set-subset?, 252
enum-set-union, 253
enum-set-universe, 252
enum-set=?, 252
environment, 137
environment, 404
eof object, 257
eof-object, 273
eof-object?, 257, 273
eol style, 257
eol-style, 259
eq?, 143
equal-hash, 245
equal?, 148
equivalence predicates, 143
eqv?, 38, 146
error, 358
error handling mode, 258
error-handling-mode, 260
error?, 367
eval, 136
even?, 47, 66, 81, 174
exact, 180
exact->inexact, 181
exact-integer-sqrt, 184
exact?, 167, 170
exactness, 167, 180
exactness preserving, 167
except import set, 346
exceptions, 9, 357
exclamation point ( ! ), 8
exists, 119
exit, 350
exp, 184
expansion, 59
expire, see engines
export, 345
export level, 345
expressions, 7
expt, 179
extended examples, 381
f (single), 169
factor, 71, 72, 73
factorial, 68, 75, 116
false, 7, 36
fast Fourier transform (FFT), 412
fenders, 299, 301
fibonacci, 69, 102, 116, 422
Fibonacci numbers, 69, 102
fields, 331
file, 257
file-exists?, 286
file-options, 261
filter, 164
find, 165
finite?, 174
first-class data values, 3
first-class procedures, 5
fixnum, 192
fixnum->flonum, 211
fixnum-width, 193
fixnum?, 193
fl*, 207
fl+, 206
fl-, 206
fl/, 207
fl<=?, 203
fl<?, 203
fl=?, 203
fl>=?, 203
fl>?, 203
flabs, 209
flacos, 210
flasin, 210
flatan, 210
flceiling, 208
flcos, 210
fldenominator, 209
fldiv, 207
fldiv-and-mod, 207
fldiv0, 208
fldiv0-and-mod0, 208
fleven?, 205
flexp, 209
flexpt, 210
flfinite?, 205
flfloor, 208
flinfinite?, 205
flinteger?, 204
flip-flop, 102
fllog, 209
flmax, 205
flmin, 205
flmod, 207
flmod0, 208
flnan?, 205
flnegative?, 204
flnumerator, 209
floating point, 167
flodd?, 205
flonum, 202
flonum?, 203
floor, 177
flpositive?, 204
flround, 208
flsin, 210
flsqrt, 210
fltan, 210
fltruncate, 208
fluid binding, 125
flush-output-port, 280
flzero?, 204
fold-left, 120
fold-right, 121
folding, 120, 121
for-all, 119
for-each, 118
force, 128
formal parameters, 26, 29, 92
formatted output, 401
fprintf, 401
free variable, 28
free-identifier=?, 302
frequency, 393
fx*, 195
fx*/carry, 197
fx+, 195
fx+/carry, 197
fx-, 195
fx-/carry, 197
fx<=?, 193
fx<?, 193
fx=?, 193
fx>=?, 193
fx>?, 193
fxand, 197
fxarithmetic-shift, 201
fxarithmetic-shift-left, 201
fxarithmetic-shift-right, 201
fxbit-count, 198
fxbit-field, 200
fxbit-set?, 199
fxcopy-bit, 200
fxcopy-bit-field, 200
fxdiv, 196
fxdiv-and-mod, 196
fxdiv0, 196
fxdiv0-and-mod0, 196
fxeven?, 194
fxfirst-bit-set, 199
fxif, 198
fxior, 197
fxlength, 198
fxmax, 195
fxmin, 195
fxmod, 196
fxmod0, 196
fxnegative?, 194
fxnot, 197
fxodd?, 194
fxpositive?, 194
fxreverse-bit-field, 202
fxrotate-bit-field, 201
fxxor, 197
fxzero?, 194
garbage collector, 3
gcd, 179
generate-temporaries, 310
generative, 324
get-bytevector-all, 275
get-bytevector-n, 274
get-bytevector-n!, 274
get-bytevector-some, 275
get-char, 275
get-datum, 278
get-line, 277
get-string-all, 277
get-string-n, 276
get-string-n!, 276
get-u8, 274
getq, 54
goodbye, 41
greatest-fixnum, 193
guard, 361
hare and tortoise, 56, 66
hashtable-clear!, 249
hashtable-contains?, 246
hashtable-copy, 248
hashtable-delete!, 248
hashtable-entries, 250
hashtable-equivalence-function, 245
hashtable-hash-function, 245
hashtable-keys, 249
hashtable-mutable?, 245
hashtable-ref, 246
hashtable-set!, 246
hashtable-size, 248
hashtable-update!, 247
hashtable?, 155
hashtables, 243
i/o-decoding-error?, 375
i/o-encoding-error-char, 376
i/o-encoding-error?, 376
i/o-error-filename, 373
i/o-error-port, 375
i/o-error-position, 372
i/o-error?, 371
i/o-file-already-exists-error?, 374
i/o-file-does-not-exist-error?, 374
i/o-file-is-read-only-error?, 374
i/o-file-protection-error?, 373
i/o-filename-error?, 373
i/o-invalid-position-error?, 372
i/o-port-error?, 375
i/o-read-error?, 372
i/o-write-error?, 372
identifier-syntax, 291, 297, 307, 316, 317
identifier?, 301
identifiers, 6
if, 35, 36, 39, 51, 59, 109
imag-part, 182
immutability of exports, 349
immutable, 331
implementation-restriction-violation?, 369
implicit begin, 109
import, 345
import level, 345
import spec, 345, 346
improper list, 19, 155
include, 309
indirect exports, 349
inexact, 180
inexact->exact, 181
inexact?, 167, 170
infinite?, 174
inheritance, 412
inheritance in records, 325
input port, 257
input-port?, 270
integer->char, 215
integer-divide, 79
integer-valued?, 153
integer?, 151, 167
integers, 167
integrable procedures, 315
internal definitions, 81, 92
internal state, 49
interpret, 404
interpreter, 4, 404
intraline whitespace, 455
irritants-condition?, 368
iteration, 5, 45, 68, 114, 115, 117, 118, 120, 121, 122
keywords, 4, 61, 291
l (long), 169
lambda, 26, 29, 59, 92, 93
lambda*, 94
latin-1, 257
latin-1-codec, 259
lazy, 51
lazy evaluation, 51, 127
lcm, 179
least-fixnum, 193
length, 42, 159
let, 23, 28, 65, 95, 114
let*, 64, 96
let*-values, 99, 134
let-bound variables, 23
let-syntax, 291, 293, 314
let-values, 99, 134, 310
letrec, 65, 81, 97, 310
letrec*, 98
letrec-syntax, 291, 293, 314
lexical scoping, 4, 5, 25, 63
lexical-violation?, 370
libraries, 343
library body, 348
library version, 344
library version reference, 347
light-weight threads, 421
line buffering, 258
line ending, 455
Lisp, ix, 6
lisp-cdr, 38
list, 20, 31, 32, 158
list constants, 7
list syntax, 460
list->string, 223
list->vector, 226
list-copy, 43
list-ref, 159
list-sort, 167, 387
list-tail, 160
list?, 56, 66, 67, 81, 158
lists, 17, 18, 155
literals, 294
load, 13
local variable bindings, 95
log, 184
lookahead-char, 275
lookahead-u8, 274
loop, 308
looping, 5
macros, 291
magnitude, 178, 183
make-assertion-violation, 366
make-bytevector, 228
make-counter, 50, 54
make-custom-binary-input-port, 267
make-custom-binary-input/output-port, 267
make-custom-binary-output-port, 267
make-custom-textual-input-port, 268
make-custom-textual-input/output-port, 268
make-custom-textual-output-port, 268
make-enumeration, 251
make-eq-hashtable, 243
make-eqv-hashtable, 244
make-error, 367
make-hashtable, 244
make-i/o-decoding-error, 375
make-i/o-encoding-error, 376
make-i/o-error, 371
make-i/o-file-already-exists-error, 374
make-i/o-file-does-not-exist-error, 374
make-i/o-file-is-read-only-error, 374
make-i/o-file-protection-error, 373
make-i/o-filename-error, 373
make-i/o-invalid-position-error, 372
make-i/o-port-error, 375
make-i/o-read-error, 372
make-i/o-write-error, 372
make-implementation-restriction-violation, 369
make-irritants-condition, 368
make-lexical-violation, 370
make-list, 46, 94
make-message-condition, 368
make-no-infinities-violation, 376
make-no-nans-violation, 377
make-non-continuable-violation, 369
make-polar, 183
make-promise, 129
make-queue, 54
make-record-constructor-descriptor, 332
make-record-type-descriptor, 323, 331
make-rectangular, 182
make-serious-condition, 366
make-stack, 52, 55
make-string, 218
make-syntax-violation, 370
make-transcoder, 259
make-undefined-violation, 371
make-variable-transformer, 291, 298, 306
make-vector, 224
make-violation, 366
make-warning, 367
make-who-condition, 369
map, 45, 47, 117, 392
map1, 46
mapping, 45, 117, 118, 121, 122
matrix multiplication, 381
max, 178
member, 161
memp, 163
memq, 161
memv, 43, 161
merge, 387
message-condition?, 368
messages, 52, 408
meta-circular interpreter, 404
method, 317
min, 178
mod, 175
mod0, 176
modulo, 175
mul, 382
multiple values, 9
multiprocessing, 421
mutable, 331
mutually recursive procedures, 66, 97
named let, 67, 71, 114
naming conventions, 8
nan?, 174
native-endianness, 228
native-eol-style, 260
native-transcoder, 259
negative?, 173
nested engines, 429
nested let expressions, 96
newline, 285
no-infinities-violation?, 376
no-nans-violation?, 377
non-continuable-violation?, 369
nondeterministic computations, 421, 424
nongenerative, 331
nongenerative, 324
nonlocal exits, 123, 124
not, 36, 110
null-environment, 137
null?, 37, 151
number syntax, 459
number->string, 191
number?, 38, 151
numbers, 16, 167
numerator, 181
object identity, 144
object->string, 267
object-oriented programming, 317, 408
objects, 3
occur free, 28, 30
octet, 257
odd?, 47, 66, 81, 174
only import set, 346
opaque, 331
opaque record type, 330, 336
open-bytevector-input-port, 264
open-bytevector-output-port, 265
open-file-input-port, 262
open-file-input/output-port, 263
open-file-output-port, 262
open-input-file, 280
open-output-file, 281
open-string-input-port, 265
open-string-output-port, 266
operating system, 423, 429
operations on objects, 141
operator precedence, 16
optional arguments, 93
or, 36, 63, 110
order of evaluation, 22, 107
output port, 257
output-port-buffer-mode, 273
output-port?, 270
pair?, 38, 151
pairs, 19, 155
parent, 331
parent type, 325
parent-rtd, 331
partition, 164
pattern variable, 294
pattern variables, 61, 299
patterns, 294
peek-char, 284
Petite Chez Scheme, ix
pointers, 4
por (parallel-or), 424
port, 257
port-eof?, 278
port-has-port-position?, 271
port-has-set-port-position!?, 272
port-position, 271
port-transcoder, 271
port?, 270
positive?, 173
predicates, 8, 37, 143
prefix import set, 346
prefix notation, 15, 16
primitive procedures, 4
printf, 401
procedure application, 16, 17, 21, 27, 107
procedure definition, 5, 31, 100
procedure?, 155
procedures, 26, 91, 92
product, 74, 80
proper list, 19, 56, 155
protocol, 331
protocol for records, 326, 332
put-bytevector, 279
put-char, 279
put-datum, 279, 397
put-string, 279
put-u8, 278
putq!, 54
quadratic-formula, 48
quasiquote` ), 142
quasisyntax#` ), 305
question mark ( ? ), 8, 37
queue, 53
quote' ), 17, 22, 59, 141
quotient, 175
raise, 357
raise-continuable, 357
rational numbers, 167
rational-valued?, 153
rational?, 151, 167
rationalize, 181
rcd, 332
read, 284
read-char, 284
real numbers, 167
real->flonum, 211
real-part, 182
real-valued?, 153
real?, 151, 167
rec, 311
reciprocal, 15, 37, 39, 80
record generativity, 324
record inheritance, 325
record uid, 325
record-accessor, 334
record-constructor, 333
record-constructor descriptor, 332
record-constructor-descriptor, 333
record-field-mutable?, 338
record-mutator, 334
record-predicate, 333
record-rtd, 338
record-type descriptor, 331
record-type-descriptor, 333
record-type-descriptor?, 332
record-type-field-names, 337
record-type-generative?, 337
record-type-name, 336
record-type-opaque?, 337
record-type-parent, 336
record-type-sealed?, 337
record-type-uid, 336
record?, 338
records, 323
recursion, 5, 41, 65, 114
recursion step, 41
recursive procedure, 41
remainder, 175
remove, 163
remp, 163
remq, 163
remv, 44, 163
rename import set, 346
retry, 75, 80
reverse, 161
Revised Reports, ix, 3
round, 178
round-robin, 423
rtd, 331
s (short), 169
Scheme standard, ix
scheme-report-environment, 137
scope, 25
sealed, 331
sealed record type, 330
segment-length, 132
segment-slope, 132
semicolon ( ; ), 7, 455
sequence, 313
sequencing, 108
serious-condition?, 366
set!, 47, 59, 102
set-car!, 157
set-cdr!, 56, 157
set-of, 389
set-port-position!, 272
sets, 389
shadowing, 4, 25, 31
shhh, 50
shorter, 41, 47
shorter?, 47
side effects, 8, 108
simple condition, 362
simple-conditions, 363
sin, 185
sint-list->bytevector, 239
sort, 387
split, 133
sqrt, 183
square, 14
stack objects, 52
standard-error-port, 264
standard-input-port, 264
standard-output-port, 264
streams, 128
string, 218
string syntax, 458
string->bytevector, 287
string->list, 222
string->number, 191
string->symbol, 242
string->utf16, 287
string->utf32, 287
string->utf8, 287
string-append, 219
string-ci-hash, 245
string-ci<=?, 217
string-ci<?, 217
string-ci=?, 217
string-ci>=?, 217
string-ci>?, 217
string-copy, 219
string-downcase, 221
string-fill!, 220
string-foldcase, 221
string-for-each, 122
string-hash, 245
string-length, 218
string-normalize-nfc, 222
string-normalize-nfd, 222
string-normalize-nfkc, 222
string-normalize-nfkd, 222
string-ref, 218
string-set!, 219
string-titlecase, 221
string-upcase, 221
string<=?, 216
string<?, 216
string=?, 216
string>=?, 216
string>?, 216
string?, 38, 154
strings, 14, 216
structured forms, 6
structures, 318
substring, 95, 220
sum, 65
symbol syntax, 458
symbol table, 241
symbol->string, 242
symbol-hash, 245
symbol=?, 242
symbol?, 38, 154
symbols, 18, 241
syntactic extensions, 5, 22, 59, 60, 291
syntactic forms, 18, 59, 291
syntax, 291
syntax#' ), 300
syntax object, 298
syntax violation, 9
syntax->datum, 308
syntax-case, 291, 299
syntax-rules, 291, 294, 300, 389
syntax-violation, 359
syntax-violation-form, 370
syntax-violation-subform, 370
syntax-violation?, 370
tail call, 5, 68
tail recursion, 5, 68
tan, 185
tconc, 53
tell, 50
templates, 295
textual port, 257
textual-port?, 270
threads, 421
thunk, 51, 124
ticks, see engines
timed preemption, 421
timer interrupts, 425
tokens, 455
top-level definitions, 30, 101
top-level programs, 343
trace, 42
tracing, 42
transcoded-port, 271
transcoder, 257
transcoder-codec, 259
transcoder-eol-style, 259
transcoder-error-handling-mode, 259
transformer, 61
tree-copy, 44
true, 7, 36
truncate, 177
type predicates, 38
u8-list->bytevector, 232
uint-list->bytevector, 239
undefined-violation?, 371
underscore ( _ ), 61, 296, 315
underscore (_), 294
unification, 417
unify, 418
unless, 64, 112
unquote, ), 142
unquote-splicing,@ ), 142
unspecified, 9
unsyntax#, ), 305
unsyntax-splicing#,@ ), 305
unwind-protect (in Lisp), 124
utf-16, 257
utf-16-codec, 259
utf-8, 257
utf-8-codec, 259
utf16->string, 288
utf32->string, 288
utf8->string, 287
values, 130, 131
variable binding, 23, 91
variable reference, 91
variables, 4, 18, 23, 30, 47
vector, 224
vector syntax, 461
vector->list, 225
vector-fill!, 225
vector-for-each, 122
vector-length, 224
vector-map, 121
vector-ref, 224
vector-set!, 225
vector-sort, 226
vector-sort!, 226
vector?, 154
vectors, 55, 223, 383
violation?, 366
warning?, 367
when, 64, 112
whitespace, 455
whitespace characters, 7
who-condition?, 369
winders, see dynamic-wind
with-exception-handler, 360
with-input-from-file, 283
with-output-to-file, 283
with-syntax, 304
write, 284, 397
write-char, 285
x++, 316
zero?, 173

R. Kent Dybvig / The Scheme Programming Language, Fourth Edition
Copyright © 2009 The MIT Press. Electronically reproduced by permission.
Illustrations © 2009 Jean-Pierre Hébert
ISBN 978-0-262-51298-5 / LOC QA76.73.S34D93
to order this book / about this book

http://www.scheme.com