eintr: Symbols as Chest
9.1 Symbols as a Chest of Drawers
=================================
In an earlier section, I suggested that you might imagine a symbol as
being a chest of drawers. The function definition is put in one drawer,
the value in another, and so on. What is put in the drawer holding the
value can be changed without affecting the contents of the drawer
holding the function definition, and vice versa.
Actually, what is put in each drawer is the address of the value or
function definition. It is as if you found an old chest in the attic,
and in one of its drawers you found a map giving you directions to where
the buried treasure lies.
(In addition to its name, symbol definition, and variable value, a
symbol has a drawer for a “property list” which can be used to record
other information. Property lists are not discussed here; see
Property Lists (elisp)Property Lists.)
Here is a fanciful representation:
Chest of Drawers Contents of Drawers
__ o0O0o __
/ \
---------------------
| directions to | [map to]
| symbol name | bouquet
| |
+---------------------+
| directions to |
| symbol definition | [none]
| |
+---------------------+
| directions to | [map to]
| variable value | (rose violet buttercup)
| |
+---------------------+
| directions to |
| property list | [not described here]
| |
+---------------------+
|/ \|