[slime-devel] SLIME48: a Swank back end in Scheme48

Helmut Eller heller at common-lisp.net
Fri Sep 16 20:22:42 UTC 2005


* Brian Mastenbrook [2005-09-16 13:55+0200] writes:

> On Sep 16, 2005, at 6:14 AM, Helmut Eller wrote:
>
>> Sadly, the goals shifted a bit since then.
>
> I don't think very many people would agree that this is "sadly". If
> this is the way you feel, however, I'm sure that there are enough
> people who prefer using SLIME on other Common Lisps to sustain a fork
> Sadly, the goals shifted a bit since then.
> of the project.

Sure.  That's why Taylor Campbell should at least consider making a
fork.

>> I'm not that excited about supporting every Frankenstein Lisp on the
>> planet, just because we can.  And frankly, who wants to use a Lisp
>> which doesn't even have docstrings?
>
> Taylor's goal in this project was to make a good Emacs IDE for
> Scheme48, not to make SLIME support "every Frankenstein Lisp". SLIME
> was just the tool he chose to make this happen.

Scheme48 is a Frankenstein Lisp by my definition.  If SLIME doesn't
need to support Scheme48, why does he even bother us/me then?

>> If you want to add your code to our CVS repo, it should be clear that
>> Scheme is only a second class citizen here, and that we have limited
>> motivation to make/keep the protocol working with the Scheme server.
>
> Why does that need to be? Why can't Taylor just maintain the Scheme48
> support to the best level possible, just as is done with the other
> backends?

Because he wrote his own server (swank) not only the implementation
specific part (swank-backend).  His server also uses a rather
different approach to threading than we do.

>> On the technical side, Scheme has continuations but SLIME assumes that
>> the Lisp is stack oriented.  I haven't thought too much about it, but
>> there will likely be problems if somebody calls a continuation
>> multiple times.  Also, interrupting doesn't seem to work with your
>> backend, or not in the way I expected it.
>
> I'm not sure what those problems would be. Can you clarify?

Try 

 (define k (call-with-current-continuation (lambda (c) c)))
 (k 1)

and type C-x C-e at the end of each line.




More information about the slime-devel mailing list