Archive for January, 2011

Lisp IDEs (where for art thou?)

Wednesday, January 5th, 2011

Lately, I’ve been trying to learn Lisp, working my way through the great “Land of Lisp” book by Conrad Barski. One of the first things Conrad tells you to do is to install CLISP, and explains a bit about the REPL. This is all well and good, but not a word is said about using a text-editor or IDE, leaving the user to figure out for themselves how to save their programs. I think the reason for this is simple: Conrad’s book is about Lisp and he doesn’t want to spend time explaining how to use Emacs – which seems to be the only serious free choice for Lisp programming.

Not being an Emacs user, I tried a few different possibilities. I tried to get the impressive sounding slimv Vim plug-in working, but had no joy. I think the issue was that I was using Windows and needed to install some more python (yes, python) libs, but the lack of error messages made me wonder if I was wasting my time. This plug-in also won’t appeal to anyone who doesn’t want to invest in learning vi.

After giving up on slimv, I tried the CUSP plug-in for Eclipse. This plug-in pleasantly surprised me, given that the web pages for it don’t inspire confidence. It worked straight away on my Windows box, providing a decent REPL/editor integration. However, it does have a few issues:

  • It’s tied to SBCL rather than allowing you to choose a Lisp implementation (and it currently uses an old version of SBCL)
  • There seems to be two “official” webpages; one at sergeykolos.com and one at www.bitfauna.com, neither of which really inspire confidence. Sergey Kolos’s site includes an Eclipse update site for installing straight from Eclipse, but it seems to be older than the download from bitfauna, despite suggestions on the bitfauna page to the contrary.
  • I’m having problems getting it to work under Linux currently.

There is another Eclipse plug-in called Dandelion which claims to work with both CLISP and SBCL, but I never managed to get it to connect to the REPL and had problems with the text-editor hanging.

A few more options are hinted at by this stackoverflow question, but none of them look very promising, with the exception of Emacs.

This leaves newcomers to Lisp with the following choices:

  • learn Emacs (boo!)
  • pound an Eclipse plug-in into submission and ignore/work-around any shortcomings
  • use a standard text editor and figure out the best way to communicate with a REPL
  • pay for LispWorks or use the crippled “Personal” edition.

Which isn’t the greatest set of choices. Why is this the case for a programming language with such a long and illustrious history?

If you’re considering learning Lisp, this may well present a considerable dilemma to you. If you don’t want to learn Emacs (and why should you have to?), I suggest trying CUSP. I also just found the Lispdev fork of CUSP, which I’m hoping may solve some of the issues with CUSP.