Index


' (quote), 4
*, 4
+, 4
, (comma), 10
,@ (comma-splice), 10
, 4
/, 4
<, 4
<=, 4
=, 4
>, 4
>=, 4
` (backquote), 10


abs, 4
alist, 12
amb, 16
and, 6
apply, 5
association list, alist406
assv, 12
atan, 4


#b (binary number), 4
begin, 3, 5
    implicit, 5, 6
Bigloo, 20
boolean, 4
boolean?, 4


c...r, 4
call‑with‑current‑continuation, call/cc456
call‑with‑input‑file, 9
call‑with‑output‑file, 9
call/cc, 15
    and coroutine, 15
    and engine, 17
car, 4
case, 6
cdr, 4
char‑>integer, 4
char‑ci<=?, 4
char‑ci<?, 4
char‑ci=?, 4
char‑ci>=?, 4
char‑ci>?, 4
char‑downcase, 4
char‑upcase, 4
char<=?, 4
char<?, 4
char=?, 4
char>=?, 4
char>?, 4
char?, 4
character, 4
    #\ notation for, 4
Chicken, 20
class, 14
clock, 17
    Guile, 23
close‑input‑port, 9
close‑output‑port, 9
command line, 3
comment, 3
complex?, 4
cond, 6
conditional, 6
cons, 4
console, 3
continuation, 15
coroutine, 15
current‑input‑port, 9
current‑output‑port, 9


#d (decimal number), 4
data type, 4
    compound, 4
    conversion to and fro, 4
    simple, 4
define, 4
define‑macro, 10
    in various dialects, 20
defstruct, 11
delete‑duplicates, 14
delete‑file, 13
dialects of Scheme, 20
display, 3, 9
dotted pair, 4


empty list, 4
engine, 17
    flat, 17
    nestable, 17
eof‑object?, 9
eqv?, 4
evaluation, 3
even?, 8
exit, 3
exp, 4
expt, 4


#f, 4
falsity, 4
file
    checking existence of, 13
    deleting, 13
    loading, 9
    port for, 9
    time of last modification of, 13
file‑exists?, 13
file‑or‑directory‑modify‑seconds, 13, 20
fixnum, 2
fluid‑let, 7
    macro for, 10
for‑each, 8
form, 3


Gambit, 20
Gauche, 20
gensym, 10
get‑output‑string, 9
getenv, 13
Guile, 20
    clock, 23


identifier, 4
if, 6
inheritance
    multiple, 14
    single, 14
init file, 20
instance, object436
integer‑>char, 4
integer?, 4
iteration, 8


Kawa, 20


lambda, 5
let, 7
    named, 8
let*, 7
letrec, 8
list, 4
list (procedure), 4
list‑>string, 4
list‑>vector, 4
list‑position, 8
list‑ref, 4
list‑tail, 4
list?, 4
listener, 3
load, 3, 9
load‑relative, 9
    in various dialects, 20
logic programming, 16
loop, 8


macro, 10
    avoiding variable capture inside, 10
make‑string, 4
make‑vector, 4
map, 8
max, 4
metaclass, 14
method, object438
min, 4
MIT Scheme, 20
multiple inheritance, 14
MzScheme, 3, 20


named let, 8
newline, 3, 9
nondeterminism, 16
not, 4
null?, 4
number, 4
number‑>string, 4
number?, 4
numerical integration, 22


#o (octal number), 4
object, 14
object-oriented programming, 14
odd?, 8
open‑input‑file, 9
open‑input‑string, 9
open‑output‑file, 9
open‑output‑string, 9
or, 6


pair?, 4
Pocket Scheme, 20
port, 4, 9
    for file, 9
    for string, 9
procedure, 4, 5
    parameters, 5
    recursive, 8
    tail-recursive, 8
puzzles, 16


quote, 4


R5RS, 2, 20
rational?, 4
read, 9
read‑char, 9
read-eval-print loop, 3
read‑line, 9
real?, 4
recursion, 8
    iteration as, 8
    letrec, 8
    tail, 8
reverse!, 8


S-expression, 4
SCM, 20
script, 18, 20
    CGI, 19
    DOS, 21
self-evaluation, 4
set!, 4
set‑car!, 4
set‑cdr!, 4
Simpson’s rule, 22
slot, object440
sqrt, 4
standard input, 9
standard output, 3, 9
STk, 20
string, 4
    port for, 9
string (procedure), 4
string‑>list, 4
string‑>number, 4
string‑append, 4
string‑ref, 4
string‑set!, 4
string?, 4
structure, 11
    defstruct, 11
subclass, 14
subform, 3
superclass, 14
symbol, 4
    case-insensitivity, 4
    generated, 10
symbol?, 4
system, 13


#t, 4
table, 12
tail call, 8
    elimination of, 8
tail recursion, 8
truth, 4


unless, 6
    macro for, 10


variable, 4
    global, 4, 7
    lexical, 7
    local, 7
vector, 4
vector (procedure), 4
vector‑>list, 4


when, 6
    macro for, 10
write, 9
write‑char, 9


#x (hexadecimal number), 4


zen, 2