Development, building, testing, and documentation aids.

Editor/IDE support

  • Cross-editor plugins
    • Parinfer is a mode that helps keeping both indentation and parens balanced. It is easy to start with and yet it offers advanced features à la Paredit. It is available on many editors (Emacs, Vim, Atom, Sublime Text, Visual Studio Code, LightTable, CodeMirror,…).
  • Emacs
    • SLIME is the Superior Lisp Interaction Mode, Extended
    • PORTACLE is a portable and multiplatform development environment, pre-configured with SBCL, Quicklisp, Emacs, Slime and Git. Download, extract and use, no installation needed.
  • vi/vim
    • Slimv provides SLIME-like Lisp and Clojure REPL inside Vim with profiling, Hyperspec lookup, Paredit-like structured editing
    • Nekthuth is a vim plugin and CL library which gives vim users some interactive Lisp development/IDE features akin to SLIME
    • VIlisp, an (inferior) inferior lisp mode for vim.
    • Limp, another (slightly less inferior) inferior lisp mode for Vim.
    • Using vi with Lisp
  • Atom
    • atom-slime is an Atom plugin for Common Lisp development.
  • Eclipse
    • Cusp An Eclipse plugin that comes out of the box with SBCL and Swank for Windows, Linux, and OSX
    • Dandelion Another Eclipse plugin, currently available with CLISP (for WinXP, MacosX, Linux). It supports the developer with syntax analyses as you type (limited), syntax highlighting, code completion, parenthesis matching, apropos and a listener.
    • lispdev is a fork of Cusp
  • Other
    • MCLIDE is an open source Mac OS X IDE for Lisp implementations using the SWANK protocol of SLIME. It supports Common Lisp, Clojure, and Scheme.
    • Climacs is an Emacs-like text editor written in Common Lisp using McCLIM.
    • Hemlock is an Emacs-like editor written in CL not using CLIM.
    • Able a IDE written in CL itself, for Mac/Windows/Linux, also with interaction mode.
    • LispIDE is a basic editor for several Lisp and Scheme implementations available for Windows.
    • Clcon is a cross-platform Lisp IDE with permissive license. It uses SWANK protocol of SLIME to connect to server. Under construction, no releases yet.

Build/make tools (main topic: build) see also: tools to Obtain libraries.

  • asdf - ASDF (Another System Definition Facility) is an extensible build facility for Common Lisp software
  • ASDlite - ASDlite is a light-weight version of ASDF, a popular build facility for Common Lisp
  • faslpath - Faslpath is a build tool that relies on package naming conventions to automatically resolve dependencies between files, eliminating the need to have a separate system definition/make file
  • poiu - poiu is an asdf extension that builds in parallel

Deployment (main topic: deployment)

  • cl-daemonize - cl-daemonize is a tool to daemonize a Lisp process without the need for screen/detachtty
  • cl-launch - cl-launch is a unix utility to make your Lisp software easily invokable from the shell command-line
  • Creating Executables - Most Common Lisp implementations support creating native-format executable files
  • lispx-proxy - lispx-proxy (Lisp Execution Proxy) is a Lisp application launcher for Windows (A *nix port with limited functionality is also available)
  • Unix shell scripting - This is a guide for writing Unix shell scripts in various Common Lisp implementations

Testing (main topic: test framework)

Logging (main topic: logging)

  • a-cl-logger - a-cl-loggerA common lisp logging library providing context sensitive logging of more than just strings to more than just local files / output streams
  • cl-log - cl-log is a highly configurable logging library
  • cl-syslog - CL-SYSLOG provides access to the Unix syslog logging facility and UDP remote syslog capability
  • hu.dwim.logger - hu,dwim,logger is a logging library
  • Log4CL - Log4CL is high performance extensible logging library for Common Lisp
  • log5 - Log5 is a logging library organized around five things: categories, outputs, senders, messages and contexts
  • logv - Logv is a logging library for Common Lisp
  • Verbose - Verbose is a logging framework that aims to provide a good default setup as well as an extensible back-end to suit all your logging needs
  • vom - A tiny logging library for Common Lisp

Documentation (main topic: documentation tool)

  • Albert - Albert is a Common Lisp doc-generator, comparable to Javadoc and Doxygen
  • CL-API - CL-API is a documentation tool that generates an API in HTML format, given a package name and reading docstrings
  • clod - CLOD is a Common Lisp doc-generator, similar to Albert, Cldoc and so on
  • Declt - Declt (pronounce dec'let) is a Texinfo reference manual generator for ASDF systems
  • documentation-template - documentation-template is a documentation tool that automatically produces HTML documentation from the exported symbols of a package
  • HEΛP - The HEΛP library (HELambdaP) is a document preparation tool that produces documentation for CL libraries
  • LispDoc - LispDoc is a documentation tool (probably somewhat OpenMCL specific) that automatically generates HTML documentation for all symbols exported from one or more packages from their documentation strings
  • MGL-PAX - MGL-PAX is an exploratory programming environment and documentation generator
  • qbook - qbook generates HTML (or LaTeX) formatted code listings of Common
  • sb-texinfo - sb-texinfo was originally written for processing the SBCL docstrings by Rudi Sclatte in 2004, and has been maintained as part of SBCL since then
  • Staple - A tool to generate documentation about Lisp projects through an HTML template
  • tinaa - Tinaa is Not An Acronym

Version control software: (main topic: version control)

Literate programming systems: (main topic: literate programming)

  • cl-org-mode has a tangle feature to do literate programming in org-mode.
  • CLWeb A literate programming system for Common Lisp.
  • MGL-PAX: A literate programming system turned inside out.


  • Redshank refactoring and editing extensions to SLIME.
  • slime-lispunit for more convenient TDD with SLIME (see also this post).
  • Matthias Holzl's Design by Contract package.
  • TU a hack for reading the translation unit dumps from GCC.
  • cl-heredoc - Common Lisp reader heredoc dispatcher, very useful for testing parsers
  • Step is a portable code single-stepper and debugger.
  • METERING is a portable code profiling tool, for gathering timing and consing statistics while a program is running.
  • Benchmarks: Benchmarking Suites can be used to compare different implementations.