[slime-devel] the slime inspector

marco mb at bese.it
Sun Sep 12 16:05:30 UTC 2004


all of this started out with the following goal:

it should be _easy_ to ask a live lisp image what's in it, it should
be _easy_ to access the associated doc strings and inspect associated
"things" like the slots of a class or the symbols in a
package. developers should have the option of telling users to inspect
the various functions and symbols in a library instead of having to
produce api documentation in another form (though that's never a bad
idea).

the attached patch changes, rather radically, the inspector. the lisp
side now deals with formatting and can create "buttons" (certain
pieces of text which when clicked call a lambda). this is used to,
among other things, implement a simple method deleter.

currently it has inspectors for: standard-class,
standard-generic-function, standard-method, standard-slot-definiton,
array, hash-table, package and cons cells (ciruclar lists, proper
lists and "regular" cons cells),

features: 

- access docstrings associated with classes, slots, generic functions,
  methods, functions and global variables/constants.

- makunbound, fmakunbound, remove-method from within inspector.

todo:

- lots of custom inspectors (strings, ).

- improve inspection of arrays (in particular it'd be nice to
  distinguish between strings, vectors, matrixes and other
  n-dimensional arrays).

- re-implement the list vieweing (don't inspect the entire list at
  once).

- invent some simple syntax for doc strings which will allow the
  developer to write "See Also" fields and have those "clikable."

- distinguish between classes, structs.

- types (deftype)

- figure out how to distinguish between a defvar/defparameter and
  defcontstant symbol.

- figure out how to access non portable system specific "extras"

- compiler-macros. how should this work?

- [not sure about this one] have slime-describe-function go to an
  inspector buffer, have slime-describe-variable inspect the symbol.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: inspector.patch
Type: text/x-patch
Size: 36422 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20040912/b464e770/attachment.bin>
-------------- next part --------------


-- 
-Marco
Ring the bells that still can ring.
Forget your perfect offering.
There is a crack in everything.
That's how the light gets in.
     -Leonard Cohen


More information about the slime-devel mailing list