Editor/IDE support
- SLIME is the Superior Lisp Interaction Mode for Emacs
- Portacle is a portable and multiplatform development environment, pre-configured with SBCL, Quicklisp, Emacs, Slime and Git. Download, extract and use. No installation needed.
- Emacs4CL is a do-it-yourself kit to set up Common Lisp development environment with SBCL, Emacs, Slime, Paredit, Rainbow Delimiters and Quicklisp. Provides a step-by-step guide and a line-by-line explanation of every line of code that goes into ~/.emacs.d/init.el (or ~/.emacs) to turn vanilla Emacs into a Common Lisp development environment.
- VLIME is a Common Lisp dev environment for Vim (and Neovim), similar to SLIME for Emacs and SLIMV for Vim. (Also look for some newer forks.)
- 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
- SLIMA is an Atom plugin for Common Lisp development.
- 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.
- Lem is a stand-alone, Emacs-like editor built in Common Lisp.
- CLOG Builder is a standalone full featured cross platform (Linux, Windows, Mac and Android) IDE for Common Lisp and also a GUI Builder for CLOG.
- 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.
-
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,…).
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
- corona - Corona is a library for building and controlling virtual machines
- Epsilon - This library provides SBCL with monolithic library support necessary to securely build, load and distribute binary packages
- evol - evol - entrenched virtues of lisp (love reversed) aims to be a compatible and full-fledged replacement for the GNU autotools stack targeted at coping with the autotools' shortcomings while not repeating the mistakes made and still being made at comparable build tool projects
- mk-defsystem - MK-DEFSYSTEM is a system definition utility; it fills a similar role for CL as make(1) does for C
- Overlord - Overlord is an experimental build system for Common Lisp, inspired by Redo
- poiu - poiu is an asdf extension that builds in parallel
- XCVB - XCVB, an eXtensible Component Verifier and Builder for Lisp is an attempt to replace asdf
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
- Consfigurator - A system for declarative configuration management using Common Lisp
- 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)
- 1am - a minimal test framework used in lparallel and lfarm, written by the same author
- check-it - check-it is a property-based testing tool designed to be used from within other test frameworks
- CheckL - CheckL is less of a test "framework" and more of a quicker, less formal, but more "live" way to write tests, which can easily be formalized into FiveAM tests at a later point
- cl-quickcheck - cl-quickcheck is a test framework for property-based testing
- cl-test-grid - cl-test-grid is a project for collaborative testing of Quicklisp libraries on different platforms and implementations
- cl-unit-test - cl-unit-test has been tested by itself with 100% test code coverage
- CLUnit - CLUnit is a Common Lisp unit testing framework
- CLUnit2 - Maintained fork of CLUnit
- de.setf.utility - de setf utility is a collection of Common Lisp utilities functions and several purpose-specific libraries
- FiveAM - FiveAM is a Test Framework whose goal is to be as simple as possible
- FReT - FReT (Framework for Regression Testing) is a unit test framework with interactive testing and authoring of tests
- journal - A library for logging, tracing, testing and persistence
- LIFT - The LIsp Framework for Testing is another testing framework in the JUnit / SUnit lineage
- lisp-unit - lisp-unit is a simple Common Lisp Test Framework
- lisp-unit2 - Lisp-unit2 is a major refactoring of the Common Lisp Test Framework lisp-unit
- MSL-Test - MSL-Test (test.lisp) is Paul Foley's Test Framework
- NST - NST is a test framework for Common Lisp offering separate and reusable fixture definitions, test groups, extensible test criteria, ASDF integration, and optional JUnit XML output
- parachute - Parachute is a simple-to-use and extensible testing framework with compatibility layers to other test frameworks
- portch - Portch is a small framework for organizing and running tests written with ptester [the portable version of Franz's tester library]
- ptester - ptester is a portable version of Franz's tester library
- rove - rove is a test framework with roswell integration
- rtch - rtch is a Development tool and hackbrary which facilitates organizing tests in the RT test framework in a directory hierarchy
- selenium-lisp-connector - selenium-lisp-connector is a Lisp client for Selenium Remote Control, a test tool that allows you to write automated web application UI tests in any programming language against any HTTP website using any mainstream JavaScript-enabled browser
- testbild - testbild is a library for outputting Test Anything Protocol (TAP) and xUnit formats
- tester - tester is the test framework harness that Franz uses for Allegro CL
- try - Try is a library for unit testing with equal support for interactive and non-interactive workflows
- unit-test - unit-test is a Test Framework by Alain Picard
- xlunit - XLUnit is a Test Framework based on XPTest and JUnit
- XPTEST - A test framework based on the paper Simple Smalltalk Testing: With Patterns
Configuration (main topic: configuration)
- Chameleon - Chameleon is a configuration management library shipped with profile support
- cl-menusystem - cl-menusystem is a library for making pretty menus for controlling an application and editing the multitude of special variables which invariably exist to control an app's settings
- clerk - Clerk is a cron-like scheduler for tasks to execute at given intervals
- clinicap - clinicap is a dialect of ini file format parser and writer, implemented in Common Lisp
- Consfigurator - A system for declarative configuration management using Common Lisp
- NFiles - A library that deals with customizable path resolution, file persistence and loading
- persistent-variables - Persistent-variables is a convenience library that makes it easy to serialize and deserialize variables
- py-configparser - py-configparser allows reading and writing of configuration files stored in the Windows INI file format
- sawyer - TOML parser in Lisp, fully supporting version 0.4.0
- trivial-configuration-parser - trivial-configuration-parser is a trivial parser library for configuration files
- ubiquitous - Ubiquitous is a very easy-to-use library for persistent configuration storage
- Universal-Config - This library tries to provide a layer for configuration files and storage that should be able to map any type of object to any configuration format and back
- YAML - Yet Another Markup Language:
Logging (main topic: logging)
- a-cl-logger - A common lisp logging library providing context sensitive logging of more than just strings to more than just local files / output streams
- cl-grip - cl-grip is a high-level logging system for Common Lisp, focusing on a clear user interface, support for flexible structured logging, and easy extensibility for different backends to support direct logging to various inputs
- cl-log - CL-LOG is a general purpose logging utility, loosely modelled in some respects after Gary King's Log5
- cl-syslog - Common Lisp interface to local and remote Syslog facilities
- flood - Comfortable, powerful and tiny logging library for common lisp
- hu.dwim.logger - hu,dwim,logger is a logging library
- irc-logger - irc-logger is a networking library written by Kevin Rosenberg which uses the cl-irc library to provide multichannel Internet Relay Chat (IRC) logging
- journal - A library for logging, tracing, testing and persistence
- 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
- LoGS - A programmable log analysis engine available under the terms of the GPL
- logv - Logv is a cognitively lightweight logging utility for Common Lisp
- pounds - Provides two kinds of memory-mapped files: a database, and a circular log
- Tungsten - Tungsten is a Common Lisp toolkit providing a wide range of features
- 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)
- ADP - Add Documentation, Please is a library for literate programming and semi-automatic API generation
- Albert - Albert is a Common Lisp doc-generator, comparable to Javadoc and Doxygen
- argdoc - simple package documentation library for common lisp
- atdoc - Atdoc generates documentation for Common Lisp packages
- CL-API - CL-API is a documentation tool that generates an API in HTML format, given a package name and reading docstrings
- cl-docweaver - A document weaver for Common Lisp
- cl-gendoc - cl-gendoc is a simple but flexible modular document generator for Common Lisp
- CLDOC - CLDOC reads lisp source files and generates documentation using the selected output driver
- clod - CLOD is a Common Lisp doc-generator, similar to Albert, Cldoc and so on
- Declt - Declt (pronounce "dec'let") is a reference manual generator for
- docudown - Docudown is a Lisp documentation tool built on top of CL-Markdown
- documentation-template - documentation-template is a documentation tool that automatically produces HTML documentation from the exported symbols of a package
- helambdap - HEΛP ("HELP") is yet another CL code documentation utility, which has been inspired by JavaDoc and doxygen
- hyperdoc - Hyperdoc means mapping symbols to documentation URIs for libraries as well
- hyperspec-lookup - hyperspec-lookup is an ANSI Common Lisp library that gives the user an interface to mapping symbols to URLs for the Common Lisp Hyperspec and Common Lisp Object System (CLOS) MetaObject Protocol
- incf-cl - (INCF CL) is a collection of utilities
- 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
- manifest - Manifest is a documentation tool for semi-automatically documenting Common Lisp packages as a set of web pages, using the toot web server
- MGL-PAX - MGL-PAX is a documentation system, browser, generator
- qbook - qbook
- 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)
- cache-cache - A tool to cache GitLab data locally for searching
- cl-darcs - cl-darcs is a client for the darcs version control system written in Common Lisp
- cl-git - A Common Lisp implementation of parsers for the git object file formats
- cl-github - cl-github is a library for working with the github version control web API
- cl-gitlab - cl-gitlab is a library to connect to GitLab's version control web API following a minimalistic (and thus solid) approach
- CLLIB - CLLIB is a varied collection of Common lisp tools and routines in CLOCC
- database-migrations - database-migrations is a library for handling relational (SQL) schema changes and versioning, much like Ruby on Rails migrations
- glitter - glitter is a native Common Lisp library for working with git version control repositories
- Meta-CVS - Meta-CVS builds a more capable version control system around CVS
Literate programming systems: (main topic: literate programming)
- cl-org-mode has a tangle feature to do literate programming in org-mode.
- literate-lisp provides tangle-free Org support for ASDF
- CLWeb A literate programming system for Common Lisp.
- MGL-PAX: A literate programming system turned inside out.
Miscellaneous
- 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.
- 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.
Topic
- ASDF System Connections - ASDF-System-Connections provides auto-loading of systems that only make sense when several other systems are loaded
- ASDF-extension - This is the topic page for extensions to ASDF
- breeze - Experiments in workflow with Common Lisp
- cl-heredoc - cl-heredoc is an implementation of "here documents" that allow the user to
- CLPM - CLPM stands for Common Lisp Package Manager
- Dandelion - Dandelion is a plugin for Eclipse that supports Lisp programming in the Eclipse platform
- Ecclesia - Utilities for parsing Lisp code, e.g
- Editor Hints - The Editor Hints system is intended to provide a number of facilities to provide hints in lisp code that can be consulted by editor interfaces to determine how to indent, etc
- gtfl - GTFL is a graphical terminal for Common Lisp
- hyperobject - Hyperobject is a Object Representation package for development
- IDE - Integrated Development Environments: the usual free Lisp IDE nowadays is GNU Emacs with SLIME
- LIFT - The LIsp Framework for Testing is another testing framework in the JUnit / SUnit lineage
- LW-ADD-ONS - LW-ADD-ONS is a collection of "enhancements" to the LispWorks IDE
- McCLIM Listener - The McCLIM Listener is an Application / Development tool that is part of McCLIM
- mcclim-desktop - A clim-desktop clone
- outer-parentheses-free-repl - outer-parentheses-free-repl (OPFR) lets you input the outermost s-exp into your REPL without having to surround it with parentheses
- Quickproject - Quickproject is a library for creating a Common Lisp project skeleton
- require-module - A variant of require which has a portable mechanism for searching for and locating files corresponding to modules
- rlwrap - rlwrap provides a nicer repl outside of SLIME for implementations that don't have a user-friendly REPL on the terminal, such as SBCL (but unlike CLISP)
- rtch - rtch is a Development tool and hackbrary which facilitates organizing tests in the RT test framework in a directory hierarchy
- SLIME Tips - This page is for collecting tips for avoiding problems with and making the best use of SLIME, the Emacs-based Lisp development environment
- SWINE - Swine is the addition of Slime editing commands to Climacs using Slime's SWANK backend
- Toplevel - A top-level command implementation vaguely reminiscent of Allegro CL's is available for CMUCL at Paul Foley's http://users.actrix.co.nz/mycroft/cl.html page
- vim - The Vi family of editors (with vim probably being the most frequently used implementation) is almost universally "the other editor" to Emacs
- WinCommand - WinCommand is an Application that can run a console (like CLisp or cmd) inside a window