Note that this index provides references to places in the 287 lecture notes relating to standard Scheme functions, special forms and also functions which we define for the purposes of the class. The descriptions of the standard facilities of Scheme are not definitive, but serve to characterise the behaviour of these facilities adequately for the purposes of the class.

A definition of Scheme emanating from MIT is on-line in the UMASS Scheme system. It is close to the IEEE Standard.

This index is under construction. See $popscheme/examples.scm for further examples. Section 6.6 onwards has lacunae.

L:higher-order functions How can we understand functions which return functions as results?

L:parsers Making parser-building functions

() The empty list

and The construct

append The

apply Evaluating

assoc

assq

assv

atom (atom

average Writing

begin

boolean? recognises if an object is a boolean

cadr (cadr l) = (car (cdr l)) is the second member of l

car (car l) is the first member of the list l

case (case

cddr (cdr (cdr l)) is a list of all members of the list l except the first two

cdr (cdr l) is a list of all members of the list l except the first

char? recognises if an object is a character

cond The

cons Making Lists.

cons_parse

cos The cosine function. Call (cos t) where the angle t is in

count_occurrences

define (define

define (define variable

display

do

equal?

eqv?

eq?

example The

factorial Recursive and iterative processes for factorial.

factorial The factorial function - an example of recursion

fib The Fibonacci Numbers - A simple definition gives exponential complexity

flatten

if The (if

lambda An expression (lambda

lambda

last

length (length l) is the number of elements in list l

let

let*

letrec

list The

list-tail

load The function

lookup

map The

map_list The "

map_list Some examples of the use of map_list

member The expression

member? The

memq This is like member but uses eq? for comparison

memv This is like member but uses eqv? for comparision

mk_builder

mk_parser_seq

mk_parser_singleton makes a parser to recognise 1-element sequences

not (not

nth-cdr

null? recognises if an object is the null object '()

number? recognises if an object is a number

occurs_atom?

or The construct

pair? recognises if an object is a pair

parse_determiner

parse_noun

parse_noun_phrase

parse_sentence

parse_verb

parse_verb_phrase

procedure? recognises procedure objects, that is functions

quote Quoted Expressions are Compound Data.

record-class Using

reduce The

rest_parse

reverse

select_set The

set! (set!

set! expr1 expr2) evaluates the expr2 and updates the appropriate component of expr1 [non-standard]

set-car! (set-car!

set-cdr!

sin The sine function. Call (sin t) where the angle t is in

sqrt The square-root function. Call (sqrt t). Result may be a complex number.

string? recognises if an object is a string such as "hello"

subst

symbol? recognises if an object is a symbol such as 'x

symbol->string

trace The

tree_parse

vector? recognises if an object is a vector

unify sees if two expressions can be made the same

updater supports (set! (f x) val) etc...

write

zero? (zero? n) determines whether a number is zero.