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

Tobias C. Rittweiler tcr at freebits.de
Fri Feb 22 19:50:54 UTC 2008


Hi,

The return value of FIND-DEFINITIONS isn't specified as rigorously as
I'd like; I'm referring to its DSPEC part specially.

For instance, on CMUCL:

  (find-definitions #'car) ==> (((FUNCTION CAR) ..location..) ...)

whereas on SBCL

  (find-definitions #'car) ==> (((DEFUN CAR) ..location..) ...)

Similiarly, CMUCL returns a dspec (VARIABLE :SPECIAL *FOO*) whereas SBCL
returns (DEFVAR *FOO*).

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?

  -T.




More information about the slime-devel mailing list