Go to the first, previous, next, last section, table of contents.


Symbol Forms

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.