10.2 Printed Representation of LISP Objects

Most of this section is devoted to the representation of tokens. In addition to tokens there are composite objects with printed representations: lists and vectors. We briefly discuss their printed formats first.

"(" expression expression  . . . ")"  
"(" expression expression . . . "." expression)  
"[" expression expression . . . "]"

Of these the first two are for lists. Where possible, the first notation is preferred and the printing routines use it except when the second form is needed. The second form is required when the cdr of a pair is neither nil nor another pair. The third notation is for vectors. For example:

(A . (B . C)) % An s-expression  
(A B . C)     % Same value, list notation  
(A B C)       % An ordinary list  
[A B C]       % A vector

The following standards for representing tokens are used: