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