Howdy all,
Here's a recording of the Emacs conference talk that I gave: http://www.youtube.com/watch?v=eZDWJfB9XY4
Cool that about half the people in the room had actually used SLIME themselves.
On 7 March 2013 11:28, Helmut Eller eller.helmut@gmail.com wrote:
On Wed, Mar 06 2013, Luke Gorrie wrote:
Howdy!
Long time no chat :-)
I will give a talk at the Emacs Conference (emacsconf.org, London March
called "How to write an Emacs-based IDE like SLIME".
The idea is to demo SLIME, explain how its development works, and give
some
encouragement and practical tips to people who might want to build
something
similar for other languages.
FUEL[1] and Geiser[2] (both by the same person) are in many ways inspired by SLIME. Both seem to communicate on top of comint and seem to work quite well. I find that surprising given my general disdain for comint-mode. CEDET, now part of Emacs, apparently tries to analyze other languages in Emacs Lisp directly. It could be interesting to compare those with SLIME and figure out which aspects of the different approaches should be reused.
It might be worth to point out that SLIME's debugger depends on the CL condition system and this can't be easily ported to languages that use Java-like exceptions. E.g. the Clojure backend for SLIME doesn't and can't support "debug-on-error".
If you have some ideas please fire away :) particularly about things I might easily overlook being as my SLIME know-how is about 10 years old!
Robert Brown wrote swank-crew[3] which can distribute work to multiple servers and remote debugging allegedly works too. I haven't tried it out myself yet, because it requires threads, but it's certainly a interesting direction to go.
There are some things in SLIME that still don't work perfectly, like interruptible I/O or clean shutdown. I don't have any wisdom to offer regarding those issues, other than that those things are bloody hard to do.
Helmut
[1] https://github.com/emacsmirror/factor-mode [2] http://www.nongnu.org/geiser/ [3] https://github.com/brown/swank-crew