We can articulate another characteristic of Lisp based on what we have
discussed so far—an important characteristic: a symbol, like
+
, is not itself the set of instructions for the computer to
carry out. Instead, the symbol is used, perhaps temporarily, as a way
of locating the definition or set of instructions. What we see is the
name through which the instructions can be found. Names of people
work the same way. I can be referred to as ‘Bob’; however, I am
not the letters ‘B’, ‘o’, ‘b’ but am, or was, the
consciousness consistently associated with a particular life-form.
The name is not me, but it can be used to refer to me.
In Lisp, one set of instructions can be attached to several names.
For example, the computer instructions for adding numbers can be
linked to the symbol plus
as well as to the symbol +
(and are in some dialects of Lisp). Among humans, I can be referred
to as ‘Robert’ as well as ‘Bob’ and by other words as well.
On the other hand, a symbol can have only one function definition attached to it at a time. Otherwise, the computer would be confused as to which definition to use. If this were the case among people, only one person in the world could be named ‘Bob’. However, the function definition to which the name refers can be changed readily. (See Install a Function Definition.)
Since Emacs Lisp is large, it is customary to name symbols in a way that identifies the part of Emacs to which the function belongs. Thus, all the names for functions that deal with Texinfo start with ‘texinfo-’ and those for functions that deal with reading mail start with ‘rmail-’.