Next: Classifying Lists, Previous: Self-Evaluating Forms, Up: Forms [Contents][Index]
When a symbol is evaluated, it is treated as a variable. The result is the variable’s value, if it has one. If it has none (if its value cell is void), an error is signaled. For more information on the use of variables, see Variables.
In the following example, we set the value of a symbol with
setq
. Then we evaluate the symbol, and get back the value that
setq
stored.
(setq a 123) ⇒ 123
(eval 'a) ⇒ 123
a ⇒ 123
The symbols nil
and t
are treated specially, so that the
value of nil
is always nil
, and the value of t
is
always t
; you cannot set or bind them to any other values. Thus,
these two symbols act like self-evaluating forms, even though
eval
treats them like any other symbol.