On Mon, Apr 09, 2007 at 01:23:41PM -0400, Gary King wrote:
One of the nice things about Eclipse (at least in principle) is the whole plug-in architecture thing. I wonder if slime could benefit from such a beast and if you (or anyone else) has given it any thought?
FWIW, I like the idea of more source analysis, etc. in my editor AND am sensitive to concerns of bloat, etc... it's a conundrum.
As I've watched fuzzy-completion grow in both features and size, I've wondered about something like SBCL's contrib system for Slime. For those who don't know about this, it contains modules that usually tie in somewhat tightly to SBCL's internals (so they benefit from being maintained in the same source tree), but don't require being built into each and every SBCL core. An example contrib is SB-INTROSPECT, which provides the [mostly] stable interface Swank uses to poke at SBCL internals. Something like this for Slime could be beneficial. I would nominate the fuzzy-completion feature as the first thing to use it, as it is quite a lot of code for a completion engine.
On the other hand, the current Slime/Swank combination has the advantage that you can just simply load Swank in a remote Lisp and expect it to work, as every feature is compiled in. The system I described above would either require configuration on both sides as to what contribs are required, or some protocol to load remote contrib libraries on demand.
Note that I haven't bothered to spend the time on this myself. :)
This doesn't imply the kind of (I presume) strict plug-in interface that Eclipse would have, but I'm not convinced you need or want that in a dynamic language.
-bcd