[slime-devel] modifying the inspector with implementation specific methods.
Martin Simmons
martin at xanalys.com
Tue Sep 14 10:32:52 UTC 2004
>>>>> On Tue, 14 Sep 2004 11:33:34 +0200, "Marco Baringer" <mb at bese.it> said:
Marco> the problem:
Marco> slime currently loads things in the following order:
Marco> 1) the backend
Marco> 2) the lisp system's implementation of the backen
Marco> 3) swank.lisp
Marco> initially i've defined everything in swank.lisp, which means that the
Marco> swank-XYZ.lisp files can add methods but can't redefine the default
Marco> methods :( (in particular it'd be nice to use the implementation's
Marco> (inspected-parts T) method). however i can't just define the inspector
Marco> directly in swank-backend because 1) the inspector uses the
Marco> swank-mop package which each implementation must define, and 2) that'd
Marco> be ugly.
Marco> suggestions? the only thing i can think of is a refactoring of the
Marco> inspector part of swank.lisp into a general inspector file, one file
Marco> defining the swank-mop package for each lisp and one file redefining
Marco> inspector methods for each lisp, but this just feels wrong.
Two possible things:
1) The overridable INSPECTED-PARTS methods such as T probably don't depend on
the mop, so they could be placed in swank-backend.lisp.
2) The INSPECTED-PARTS generic function could be changed to specialize on an
implementation object, allowing the default methods to be shadowed by the
backend implementation. Actually, this could be done for the whole of the
DEFINTERFACE/DEFIMPLEMENTATION mechanism.
__Martin
More information about the slime-devel
mailing list