[slime-devel] Re: SWANK-BACKEND:FIND-DEFINITIONS -- return value specification.

Helmut Eller heller at common-lisp.net
Fri Feb 22 23:49:43 UTC 2008


* Tobias C. Rittweiler [2008-02-22 20:50+0100] writes:

> I'd like to specify that a DSPEC is either 
>
>    a symbol, or 
>
>    a list 
>     where the CAR is the defining symbol (DEFVAR for variables, DEFUN
>     for function, &c.) that resulted in the respective definition, the
>     CADR is the name of the thing, and optionally there's an extra
>     description as the rest argument (specializing arglist for methods,
>     for instance.)
>
> Furthermore, I'd like to explicitly validate this with a
> DESTRUCTURE-CASE such that each backend implementator can directly see
> what's expected.
>
> Opinions?

Sounds like a noble effort.  Both, Lispworks and Allegro have some
documentation about dspecs resp. fspecs.  That probably counts as
previous work, but both seem to be rather ad-hoc.  Lispworks' dspecs are
even user-extendable, so validating the result isn't that easy.
Moreover, CMUCL/SBCL return compiler internals like transformation and
type propagation rules.  Not to mention that that some implementations
return nothing at all.  It's not easy to generalize without allowing
implementation specific extensions.

Currently, we use the dspec part only for display purposes.  It would be
good to find a useful application for these dspecs before spending too
much time on them.

Helmut.




More information about the slime-devel mailing list