[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A PCL browser

We've got a series of prototype enhancements to the Sun Common Lisp Symbolic
Programming Environment (SPE) 1.0 (which runs in Lucid 2.1) that
provide support for programming in CLOS using the PCL implementation.
The enhancements include:

*Partial integration with the debugger, including ability to find method
source from a stack frame of the method, visual display of method
arguments, etc. TRACE and ADVISE of individual methods (as opposed to
generic functions) are not there yet.

*M-. and general source finding integration for finding method and class
source. Handles generic function names, so that if you give the generic
function name, it will pop up a menu with the list of methods on the
generic function for you to select one. Also handles slot accessor names,
so if you give a generic function name which it knows is a slot accessor,
it will bring up the class definition.

*Almost full integration with the Cross Reference Analyzer (CREF) for methods.
The only things missing are the ability to mouse on a call graph node for
CALL-NEXT-METHOD and get to the next method, and not displaying the
call graph of the macroexpansion of WITH-SLOTS and WITH-ACCESSORS,
but rather doing a premacroexpansion call graph, so that the usage of macros
can be shown.

*A full set of CLOS browsers and inspectors for browsing classes, methods,
generic functions, and instances. These are integrated with the debugger
as well, so that you can browse an argument currently on the stack and
see what it has, and with the rest of the Common Lisp inspector system.
The browser system also lets you browse class and method source from
the class or method browser, so it can be easily and incrementally

The enhancements work on both the Sun3 and Sun4 versions of SPE. They
will be made available in some form, but, obviously, you'll need
SPE in order to use them, so it doesn't make much sense to just post
the source. I think the marketing folks are planning to distribute
it somewhere within the OOPSLA time frame. I'll keep people posted.