When a symbol is evaluated, it is treated as a variable. The
result is the variable's value, if it has one. If the symbol has
no value as a variable, the Lisp interpreter signals an error.
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 a
123) ⇒ 123 (eval 'a) ⇒ 123 a ⇒ 123 t are treated specially, so
that the nil is always nil, and the value of 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 Constant Variables.