Term

Definition

Example

Atoms

Like types: the fundamental items formed from bits

27, 3.14, This-Phrase

Lists

Sentence like objects containing atoms or other lists.

'(this that the other thing)

Symbolic expressions / or [s-]expressions

Atoms and lists collectively are called expressions.

setf

(setf [<name> <list>]*) is an assignment of <list> to <name>

(setf friends '(Dan Randy) enemies '(Satan))

Data Types

See Figure 1

FIRST

(FIRST LIST) returns the first expression in the list

(FIRST (A B C)) --> A

REST

(REST LIST) returns the expression after the first element of the list as a list

(REST (A B C)) --> (B C)

QUOTE

'(I J) will return a list with the elements I and J without trying to interpret I as a function

'(A B C) --> (A B C)

CARs CDRs

CAR == first, CDR == rest. Add a's or d's to string them to gether CADR == first rest

(CADR '(A B C)) --> B

True and False

T and NIL

CONS

(CONS <exp> <list>) --> LIST == (exp list[1] ... list[n]) that is the contents of the list

(CONS 'a '(b c)) --> (a b c)

APPEND

(APPEND list list*) --> (content contents1 ... contentsn)

(append '(a b c) '(a e f)) --> (a b c a e f)

LIST

(LIST <exp>*) --> (exp1 ... expn)

(LIST 'a 'b 'c) --> (a b c)

NTHCDR

(NTHCDR <number> <list>) trims off the first <number> items from the list and returns the rest

(NTHCDR 2 '(a b c)) --> (c)

BUTLAST

(BUTLAST <number> <list>) trims off the last <number> itmes from the list and returns the rest

(BUTLAST 2 '(a b c)) --> (a)

LAST

(LAST <list>) --> (last-element) as a list

(LAST '(a b c)) --> (c)

LENGTH

(LENGTH <list>) --> number of items in the list

(LENGTH '(a b c)) --> 3

REVERSE

(REVERSE <list>) --> reverses the order of the list

(REVERSE '(a b c)) --> (c b a)

                     |Number
                     |
             |Atom---|
             |       |
Expressions -|       |Symbol
             |
             |LIST

Figure 1