Next: , Previous: , Up: Common Lisp Help System   [Contents][Index]


5.6.2 Describe

Once you know the name of a symbol, you can get additional information by using the DESCRIBE function.

DESCRIBEobject’ ‘stream’ sends information about an ‘object’ to a stream (‘standard-output’ by default). ‘object’ can be a symbol, string, or function.

DESCRIBE prints, to the stream in the variable ‘*standard-output*’, information about the object. Sometimes it will describe something that it finds inside something else; such recursive descriptions are indented appropriately. For instance, DESCRIBE of a symbol will exhibit the symbol’s value, its definition, and each of its properties. DESCRIBE of a floating-point number will exhibit its internal representation in a way that is useful for tracking down round-off errors and the like. The nature and format of the output is implementation-dependent.

The output is sent to the specified stream, which defaults to the value of ‘*standard-output*’; the stream may also be ‘nil’ (meaning ‘*standard-output*’) or ‘t’ (meaning ‘*terminal-io*’). DESCRIBE is forbidden to prompt for or require user input when given exactly one argument.

$ sbcl

* (describe 'mapl)
COMMON-LISP:MAPL
  [symbol]

MAPL names a compiled function:
  Lambda-list: (FUNCTION LIST &REST SB-IMPL::MORE-LISTS)
  Dynamic-extent arguments: positional=(0)
  Declared type: (FUNCTION ((OR FUNCTION SYMBOL) LIST &REST LIST)
                  (VALUES LIST &OPTIONAL))
  Derived type: (FUNCTION (T T &REST T) (VALUES T &OPTIONAL))
  Documentation:
    Apply FUNCTION to successive tuples of CDRs of LIST and MORE-LISTS.
    Return LIST.
  Known attributes: call, foldable
  Source file: SYS:SRC;CODE;LIST.LISP