¿Cómo ver cadenas de documentos y otra información de símbolos en Common Lisp REPL?

Soy completamente nuevo en CL, y me gustaría aprender a leer cadenas de documentación y obtener otra información de ayuda de REPL. Algo comohelp(symbol) en Python osymbol? en iPython, o:t y:i en Haskell's GHCi.

Entonces, dado un nombre de símbolo, me gustaría poder saber:

a qué tipo de valor está vinculado, si lo hay (una función, una variable, ninguna) si es una función o una macro, entonces cuáles son sus argumentos posicionales si tiene una cadena de documentación, muéstrela de qué paquete o archivo proviene o cuándo se definió

Encontré que hay(documentation '_symbol_ '_type_), pero no es exactamente lo que necesito. Necesito saber el tipo de valor al que está vinculado el símbolo 'function, 'variable, 'compiler-macro, etc.) antes de que pueda usardocumentation. Luego devuelve solo la cadena de documentación, puede faltar o no ser suficiente para usar el símbolo.

Por ejemplo, en Lisp, la ayuda paramapcar no es muy útil (REPL de CLisp):

> (documentation 'mapcar 'function)
NIL

Me gustaría poder ver algo como esto en su lugar:

>>> map?
Type:       builtin_function_or_method
Base Class: <type 'builtin_function_or_method'>
String Form:    <built-in function map>
Namespace:  Python builtin
Docstring:
    map(function, sequence[, sequence, ...]) -> list

    Return a list of the results of applying the function to the items of
    the argument sequence(s).  If more than one sequence is given, the
    function is called with an argument list consisting of the corresponding
    item of each sequence, substituting None for missing values when not all
    sequences have the same length.  If the function is None, return a list of
    the items of the sequence (or a list of tuples if more than one sequence).

Respuestas a la pregunta(2)

Su respuesta a la pregunta