eintr: List Implementation
9 How Lists are Implemented
***************************
In Lisp, atoms are recorded in a straightforward fashion; if the
implementation is not straightforward in practice, it is, nonetheless,
straightforward in theory. The atom ‘rose’, for example, is recorded as
the four contiguous letters ‘r’, ‘o’, ‘s’, ‘e’. A list, on the other
hand, is kept differently. The mechanism is equally simple, but it
takes a moment to get used to the idea. A list is kept using a series
of pairs of pointers. In the series, the first pointer in each pair
points to an atom or to another list, and the second pointer in each
pair points to the next pair, or to the symbol ‘nil’, which marks the
end of the list.
A pointer itself is quite simply the electronic address of what is
pointed to. Hence, a list is kept as a series of electronic addresses.
Menu