Emacs is the modern open source Lisp IDE. Its history and quirks extend back to the Lisp machines and early editors such as TECO.
It is considered difficult to initially learn, and often disparaged due to the antiquated interface, but is generally thought the best open source free IDE for Common Lisp.
With PortaclePortacle is a portable and multiplatform Common Lisp development environment. It packages SBCL, Emacs25, Slime, Quicklisp and Git altogether. There is no installation required, so it's the easiest way to go.
Install GNU Emacs
In order to get it, you can obtain it from its home page. Windows, Linux, and OSX versions are available. It’s also available via most Linux distributions package repositories. The most recent version is 25; 23 still works well with the Superior Lisp Interaction Mode for Emacs, a.k.a SLIME.
Usually you want to get SLIME installed for your development.
If you’re using emacs23, SLIME can be found here.
Emacs24 and onwards has it in its package manager (
I like to use the following elisp to configure SLIME:
(require 'cl) (setq inferior-lisp-program "/usr/local/bin/sbcl") ;modify to taste (require 'slime) (slime-setup '(slime-fancy)) ;adds some nice features ;; these give you unicode (set-language-environment "UTF-8") (setenv "LC_LOCALE" "en_US.UTF-8") (setenv "LC_CTYPE" "en_US.UTF-8") (setq slime-net-coding-system 'utf-8-unix)
Another useful tool is:
;; highlight parens (require 'paren) (show-paren-mode t)
Once you are set up…
When you load a Lisp file and want to engage SLIME,
slime will do the trick.
Paredit is a popular Lisp editing mode that the engaged student will hear about. The author recommends getting comfortable with emacs and SLIME before using Paredit, it provides several automatic s-expression editing features that surprised him on first use.
When you have configured your SLIME in a
fashion, you will find a SLIME REPL (Read Evaluate Print Loop) buffer
created in your Emacs window.
This provides an interactive view into Common Lisp. You can evaluate functions you are writing in the source file and immediately use them in the REPL. This provides a very fast “code and test” facility.