[slime-devel] Minimal feature set for SLIME

Helmut Eller e9626484 at stud3.tuwien.ac.at
Fri Dec 3 07:17:33 UTC 2004


Julian Stecklina <der_julian at web.de> writes:

> what features would be required of a Common Lisp system to actually
> support a (minimally) usable SLIME ?

First, the Lisp system should be complete enough to actually compile
the code in swank.lisp.  That may sound trivial, but, e.g., ECL
cannot.  Also GCL has apparently incomplete readtables, so that some
tests must be disabled before the fasl file can be loaded.

Second, support for server sockets and the ability to turn client
sockets into streams.  This is a must.

At this point it's usually possible to connect to the Lisp and to do
simple evaluations.  Symbol completion is also works very early.

For a little debugging comfort you have a implement a way to produce a
backtrace.  The backtrace could be empty, but debugging without
backtrace is no fun.

I'd say this is about the minimal support needed.  The rest can be
added incrementally.

If you want to use the REPL, you have to implement streams to redirect
the output to Emacs.  If the implementation supports Gray streams you
can use the code in swank-gray.lisp.  You have to disable output
redirection until the streams are implemented and the output will show
up the *inferior-lisp* buffer.

A good M-. (find-definitions) implementation is IMO the most important
feature for real work.

Helmut.



More information about the slime-devel mailing list