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 section 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. A symbol whose name
starts with `:' also self-evaluates in the same way; likewise,
its value ordinarily cannot be changed. See section Variables That Never Change.
Go to the first, previous, next, last section, table of contents.