19.5 Debugging Information

Any object may be displayed symbolically by invoking the method DESCRIBE, e.g. (=> x describe). This method prints the name of each instance variable and its value, using the ordinary LISP printing routines. Flavored objects are liable to be complex and deeply nested or even circular. This makes it often a good idea to set PRINLEVEL to a small integer before printing structures containing objects to control the amount of output.

When printed by the standard LISP printing routines, ”flavored objects” appear as evectors whose zeroth element is the name of the flavor.

For each method defined, there is a corresponding LISP function named
<flavor-name>$<method-name>. Such function names show up in backtrace printouts.

It is permissible to define new methods on the fly for debugging purposes.