Common Lisp the Language, 2nd Edition

Next: Creating Symbols Up: Symbols Previous: The Property List

# 10.2. The Print Name

Every symbol has an associated string called the print name. This string is used as the external representation of the symbol: if the characters in the string are typed in to `read` (with suitable escape conventions for certain characters), it is interpreted as a reference to that symbol (if it is interned); and if the symbol is printed, `print` types out the print name. For more information, see the sections on the reader (section 22.1.1) and printer (section 22.1.6).

[Function]
`symbol-name sym`

This returns the print name of the symbol sym. For example:

    (symbol-name 'xyz) => "XYZ"

It is an extremely bad idea to modify a string being used as the print name of a symbol. Such a modification may tremendously confuse the function `read` and the package system.

X3J13 voted in March 1989 (CHARACTER-PROPOSAL) to specify that it is an error to modify a string being used as the print name of a symbol.