A cons cell can be illustrated as a pair of boxes. The first box
represents the CAR and the second box represents the CDR.
Here is an illustration of the two-element list, (tulip lily)
,
made from two cons cells:
--------------- --------------- | car | cdr | | car | cdr | | tulip | o---------->| lily | nil | | | | | | | --------------- ---------------
Each pair of boxes represents a cons cell. Each box "refers to",
"points to" or "contains" a Lisp object. (These terms are
synonymous.) The first box, which describes the CAR of the first
cons cell, contains the symbol tulip
. The arrow from the
CDR box of the first cons cell to the second cons cell indicates
that the CDR of the first cons cell is the second cons cell.
The same list can be illustrated in a different sort of box notation like this:
--- --- --- --- | | |--> | | |--> nil --- --- --- --- | | | | --> tulip --> lily
Here is a more complex illustration, showing the three-element list,
((pine needles) oak maple)
, the first element of which is a
two-element list:
--- --- --- --- --- --- | | |--> | | |--> | | |--> nil --- --- --- --- --- --- | | | | | | | --> oak --> maple | | --- --- --- --- --> | | |--> | | |--> nil --- --- --- --- | | | | --> pine --> needles
The same list represented in the first box notation looks like this:
-------------- -------------- -------------- | car | cdr | | car | cdr | | car | cdr | | o | o------->| oak | o------->| maple | nil | | | | | | | | | | | -- | --------- -------------- -------------- | | | -------------- ---------------- | | car | cdr | | car | cdr | ------>| pine | o------->| needles | nil | | | | | | | -------------- ----------------
See section Cons Cell and List Types, for the read and print syntax of cons cells and lists, and for more "box and arrow" illustrations of lists.
Go to the first, previous, next, last section, table of contents.