Copyright (C) 2000-2012 |
GNU Info (elisp)Lists as BoxesLists as Linked Pairs of Boxes ============================== 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 "holds" 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 | | | | | | | -------------- ---------------- Note: Cons Cell Type, for the read and print syntax of cons cells and lists, and for more "box and arrow" illustrations of lists. automatically generated by info2www version 1.2.2.9 |