Common Lisp the Language, 2nd Edition

Next: OverlapInclusion, and Up: Data Types Previous: Functions

# 2.14. Unreadable Data Objects

Some objects may print in implementation-dependent ways. Such objects cannot necessarily be reliably reconstructed from a printed representation, and so they are usually printed in a format informative to the user but not acceptable to the `read` function: `#<useful information>`. The Lisp reader will signal an error on encountering `#<`.

As a hypothetical example, an implementation might print

    #<stack-pointer si:rename-within-new-definition-maybe #o311037552>

for an implementation-specific ``internal stack pointer'' data type whose printed representation includes the name of the type, some information about the stack slot pointed to, and the machine address (in octal) of the stack slot.

See `print-unreadable-object`, a macro that prints an object using `#<` syntax.