help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: How to remove verbosity from the data passing mechanism using alist


From: Drew Adams
Subject: RE: How to remove verbosity from the data passing mechanism using alist or plist ?
Date: Tue, 7 Dec 2010 07:14:18 -0800

> those things that look like lists but have dots in them are
> a result of someone abusing "cons" to make a cons cell whose
> 'next' pointer points to something other than the next cons
> cell in a list.

Actually this is not an abuse of poor little `cons'.  ;-)

The list `(x)' is in fact an example of such "abusive" behavior: the cdr
("next") is the symbol `nil', which is an atom, not a cons cell: `(x . nil)'.

It is correct to say that cons cells are used to build lists, and that that is
their most common use.  And that a list is either `nil' or a cons cell whose cdr
is a list.  But it is also correct that some cons cells are not lists, i.e., do
not have a list as their cdr.

`cons' is untyped wrt its parameters.  It is not only the first parameter (the
car) that need not be a list, but also the second (the cdr).




reply via email to

[Prev in Thread] Current Thread [Next in Thread]