Clementson's Blog

Bits and pieces (mostly Lisp-related) that I collect from the ether.

May 2004
Sun Mon Tue Wed Thu Fri Sat
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Apr  Jun

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:

  1. Some people are behind a company firewall and can't download from CVS
  2. Others don't like downloading out of CVS and prefer a tarball
  3. A release provides a "fixed" snapshot that you can be pretty sure works (more or less)
  4. A release says to the world "We're ready for users now"
For the most part, these reasons don't really have as much weight with SLIME. Here's why:
  1. For people behind a firewall, it is still (usually) possible to download from CVS using the CVSGrab utility
  2. 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
  3. 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).
  4. 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.
The short of it is: If you use Emacs to program in CL, you should check out SLIME - you'll be pleasantly surprised!

emacs Copyright © 2005 by Bill Clementson