The following predicates test whether a Lisp object is an atom, is a
cons cell or is a list, or whether it is the distinguished object
nil. (Many of these predicates can be defined in terms of the
others, but they are used so often that it is worth having all of them.)
t if object is a cons cell, nil
otherwise. nil is not a cons cell, although it is a list.
t if object is an atom, nil
otherwise. All objects except cons cells are atoms. The symbol
nil is an atom and is also a list; it is the only Lisp object
that is both.
(atom object) == (not (consp object))
t if object is a cons cell or
nil. Otherwise, it returns nil.
(listp '(1))
=> t
(listp '())
=> t
listp: it returns t if
object is not a list. Otherwise, it returns nil.
(listp object) == (not (nlistp object))
t if object is nil, and
returns nil otherwise. This function is identical to not,
but as a matter of clarity we use null when object is
considered a list and not when it is considered a truth value
(see not in section Constructs for Combining Conditions).
(null '(1))
=> nil
(null '())
=> t
Go to the first, previous, next, last section, table of contents.