Introduction to CL development environments
Saturday, October 23, 2004
On c.l.l., a new CL user asked about recommendations for the "Best Lisp development environment". There were a number of good responses given; however, this one from Marco Baringer is the best summary I've seen yet of the pros and cons of the different options (slightly edited):
"Robert Rotstein"writes:
> What do Lisp programmers recommend as the best product (or freeware) for
> developing Lisp applications?
[I'm assuming by "Lisp" you mean Common Lisp as defined by ANSI and implemented by MCL, OpenMCL, CMUCL, SBCL, ABCL, LispWorks, Franz and others.]
Short answer (useful free version): (SBCL | CMUCL) + Emacs + SLIME
Short answer (useful commercial version): (LispWorks | Allegro) + Emacs + SLIME
Short answer (truthful but useless version): that depends.
Long answer (truthful and, hopefully, useful version): Developing Lisp applications requires, more or less, three things: a compiler and runtime, an IDE and libs.Other Links:
- The compiler and runtime (the Lisp implementation):
As far as the commercial implementations go, I've never heard anyone complain about Allegro, LispWorks, or MCL. Personally, I've never used them for real work so I can't say. LispWorks and Allegro are available on Windows, Linux and Mac OS X, MCL is Mac OS only.
As far as the open source stuff goes, you've got quite a few options and they've all got their pros and cons. If you're on x86 *nix, pick one of CLISP, CMUCL or SBCL (if you can't tell the difference it means it won't affect you). If you're on PPC, try OpenMCL (CMUCL, CLISP and SBCL are available though they're missing threads on PPC). If you're on Windows, grab CLISP (or finish the SBCL port :)).
If you're just starting out, I'd suggest grabbing one of the free commercial trial versions as they tend to Just Work. The commercial versions also tend to have development goodies like steppers, graphical inspectors, gui builders, documentation and are generally more "polished".
Let me just remind you that this decision is not a major issue (at first). Whatever you decide, you'll always be able to change later; and, if you're just starting, there's no appreciable difference.
- The IDE:
If you're using one of the open source implementations, you can pick between Emacs+ SLIME, Emacs+SLIME and, should you feel daring, Emacs+SLIME. Seriously, there's really no other option when it comes to Lisp development.
If you've got a commercial implementation, then it will have its own Emacs-ish editor, though LispWorks and Franz are also supported by SLIME.
Whatever you chose, I strongly suggest (I'd force you if I could) to learn to use the editor well.
See also: Editing Lisp Code with Emacs
- The libs:
The commercial Lisps come with lots of useful libs (see the respective product pages for more info) though these are often missing in the trial versions. In particular, all the commercial versions have nice multi-platform GUI libraries (though McCLIM is comming along quite nicely).
Otherwise, there's a lot of stuff available for Lisp (and it's growing pretty fast). Have a look around cliki.net and common-lisp.net or just ask here and you'll get 10 answers (of which 15 will be wrong but hey, that's usenet for you).
Lisp Weblogs
#lisp channel on IRC
Association of Lisp Users (ALU)
happy hacking.

