SLIME is ready for prime time
Monday, May 3, 2004
Luke Gorrie recently made a
formal announcement on comp.lang.lisp about
SLIME (The Superior Lisp Interaction Mode for Emacs). Of course, SLIME is probably one of the worst-kept secrets
in the Lisp community as most people who use Emacs and CL seem to
have already migrated over to it. What is SLIME? It's an Emacs
programming mode for working with Common Lisp code (older alternatives
are Inferior Lisp mode, ILISP and ELI - see my ILC2003 paper
"Using Emacs as a Lisp IDE" for a summary of these alternatives)
and it's rapidly becoming the favorite Emacs mode of many CL
programmers.
There hasn't been a "formal" 1.0 release of SLIME and this might make
some people think that it isn't really ready for "production" use.
This isn't the case though. Since new feature functionality is
continually being added to SLIME, the maintainers have decided not to
put out a formal release yet. In practice, however, the lack of a formal
release is not really a limitation. The reasons that people
normally look for a release in an open source project are:
- Some people are behind a company firewall and can't download from CVS
- Others don't like downloading out of CVS and prefer a tarball
- A release provides a "fixed" snapshot that you can be pretty sure works (more or less)
- A release says to the world "We're ready for users now"
- For people behind a firewall, it is still (usually) possible to download from CVS using the CVSGrab utility
- For people who prefer a pre-packaged tarball, it is possible to download a daily tarball of the current CVS SLIME from: http://common-lisp.net/cgi-bin/viewcvs.cgi/cvs_root.tar.gz?tarball=1&cvsroot=slime
- Reason #3 isn't really that important either, since SLIME is generally pretty stable (even the latest code in CVS) and the turn-around on bugs is really quick. I've been downloading the latest CVS SLIME on (at least) a weekly basis for the past month or so and I've rarely come across problems (Note: there is also a "FAIRLY-STABLE" CVS branch available that you can choose to download instead of the latest code if you just want something that works and aren't after the latest functionality).
- Reason #4 is a subjective consideration. I know that I held off trying SLIME for a long time because I thought it was still a work-in-progress and not ready for production use. However, there are a lot of people recommending SLIME now and I would say that it has the highest mindshare of the Emacs CL modes.

