If a symbol is not interned in any package , it is called uninterned . An interned symbol is uniquely identifiable by its name from any package in which it is accessible . Symbols have the following attributes. For historical reasons, these are sometimes referred to as cells , although the actual internal representation of symbols and their attributes is implementation-dependent . The name of a symbol is a string used to identify the symbol .
Every symbol has a name , and the consequences are undefined if that name is altered.
The function symbol-name returns the name of a given symbol . A symbol may have any character in its name . The object in this cell is called the home package of the symbol . If the home package is nil , the symbol is sometimes said to have no home package . When a symbol is first created, it has no home package .