The Common Lisp Cookbook – Editor support

The editor of choice is still Emacs, but it is not the only one.

Emacs

SLIME is the Superior Lisp Interaction Mode for Emacs. It has support for interacting with a running Common Lisp process for compilation, debugging, documentation lookup, and so on. It works with many implementations.

Portacle is a portable and multiplatform Common Lisp environment. It ships Emacs25, SBCL, Quicklisp, SLIME and Git.

Installing SLIME

SLIME is in the official GNU ELPA repository of Emacs Lisp packages (in Emacs24 and forward). Install with:

M-x package-install RET slime RET

Since SLIME is heavily modular and the defaults only do the bare minimum (not even the SLIME REPL), you might want to enable more features with

(slime-setup '(slime-fancy slime-quicklisp slime-asdf))

For more details, consult the documentation (also available as an Info page).

Now you can run SLIME with M-x slime and/or M-x slime-connect.

See also:

  • http://wikemacs.org/wiki/SLIME - configuration examples and extensions.

Using Emacs as an IDE

See “Using Emacs as an IDE”.

Setting up Emacs on Windows or Mac

See “Setting up Emacs on Windows or Mac”.

Vim & Neovim

Slimv is a full-blown environment for Common Lisp inside of Vim.

Vlime is a Common Lisp dev environment for Vim (and Neovim), similar to SLIME for Emacs and SLIMV for Vim.

cl-neovim makes it possible to write Neovim plugins in Common Lisp.

quicklisp.nvim is a Neovim frontend for Quicklisp.

Slimv_box brings Vim, SBCL and tmux in a Docker container for a quick installation.

Eclipse

Dandelion is a plugin for the Eclipse IDE.

Available for Windows, Mac and Linux, built-in SBCL and CLISP support and possibility to connect other environments, interactive debugger with restarts, macro-expansion, parenthesis matching,…

Lem

Lem is an editor tailored for Common Lisp development. Once you install it, you can start developing. Its interface ressembles Emacs and SLIME (same shortcuts). It comes with an ncurses and an Electron frontend, and other programming modes: Python, Go, Rust, JS, Nim, Scheme, HTML, CSS, directory mode, a vim layer, and more.

Atom

See Atom-Slime. This package allows you to interactively develop Common Lisp code, helping turn Atom into a full-featured Lisp IDE.

Sublime Text

Sublime Text supports running a Lisp REPL and evaluating code in it.

You need to install the “SublimeREPL” package and then see the options in Tools/SublimeREPL to choose your CL implementation, and eval what you want.

Notebooks

cl-jupyter is a Common Lisp kernel for Jupyter notebooks.

Darkmatter is a notebook-style Common Lisp environment.

REPLs

cl-repl is an ipython-like REPL. It supports symbol completion, magic and shell commands, editing command in a file and a simple debugger.

Others

For reviews of plugins for more editors, including free versions of proprietary ones (LispWorks, Allegro), see Articulate Common Lisp.

Page source: editor-support.md