Common Lisp
Powerful dynamic multiparadigm language that facilitates iterative and interactive development.
Contents
- Caching (serialization)
- Caching (memoization)
- Compression / decompression
- Configuration
- Date and time
- Data validation
- Developer utilities
- Documentation builders
- Documentation lookup
- Files and directories
- Git
- i18n
- Linting, code formatting
- Literate programming
- Logging
- Markdown
- Package declarations
- Project skeletons
- Security
- System interface
- Other
- Macro helpers
Around the OpenAI API
semi-automatically generated Openapi client updated frequently from the official Openapi specification. AGPL-3.
LLM completions.
LLM embeddings.
the vector DB interface.
and cl-chat, a LLM chat library and web UI.
Deep Learning Compiler based on Polyhedral Compiler and Light-weight IRs, and Optimizing Pattern Matcher, written in Common Lisp
MCP servers
Machine Learning
a machine learning library for backpropagation neural networks, boltzmann machines, gaussian processes and more. [MIT][200].
the Higgs Boson Machine Learning Challenge.
originally developed by Mathematicl Systems Inc., a Japanese company. With a tutorial. [LLGPL][8].
and LLA.
implementation of Llama inference operations. MIT.
Natural Language Processing
A natural language understanding system for English. [Eclipse][209].
Natural language processing toolset. [Apache2.0][89].
A Fluid Construction Grammar implementation, computational framework, and unification-based grammar formalism [Apache2.0][89].
Expert Systems
a production-quality, forward-chaining expert system shell featuring an optimized implementation of Charles Forgy's Rete algorithm, a highly efficient solution to the difficult many-to-many pattern matching problem. MIT.
solve classical planning and constraint satisfaction problems without extensive programming experience. BSD_3Clause.
Audio
visual programming / computer-aided composition environment. [GPL3][2]. Developped at IRCAM, France.
a new implementation of the OpenMusic visual programming and computer-aided composition environment including a number of improvements on graphical interface, computational mode, and connection to external software libraries. [GPL3][2].
Algorithmic composition library which outputs Midi, Common Music Notation, pdf-score via Lilypond and sound via Common Lisp Music. [GPL3][2].
the repository of an an ancient version of Common Music (version 2.12.0), the presumably last version which ran on Common Lisp dating from around 2007-09, before work on Common Music shifted to (scheme-based) cm3.
a system for composing music via Lisp code, heavily inspired by SuperCollider’s patterns system, with aims to implement much of it, but in a more robust, expressive, consistent, reflective, and lispy way. Audio output through SuperCollider, with preliminary support for Incudine, and MIDI through ALSA.
A framework for musical expression in Lisp with a focus on music theory (built from scratch, unrelated to Common Music).
A real-time sound processing and playback system. [zlib][33].
a collection of audio decoders and metadata readers.
The time based musical event scheduler for Common Lisp. [Apache2.0][89].
an implementation of the Open Sound Protocol. [LGPL2.1][11].
A sound and music computing system. Includes CFFI and FFI interfaces for Common Lisp.
A SuperCollider client for CommonLisp. With a tutorial and live coding demos. Public domain.
bindings for the OpenAL audio library. Public domain.
and more audio software targetting musicians on awesome-cl-software#audio (Opus Modus, OpenMusic…).
bindings and clients to other software and libraries
Build Systems
a tool to visualize the library dependencies of ASDF systems, the call graph of a function and the class inheritances. [LLGPL][8].
A modularization framework for Common Lisp. [zlib][33].
Extensions for ASDF for compiling various languages and running various preprocessing tools on files in your project. [Expat][14].
a small utility for traversing the dependency tree of an ASDF system. Zlib.
Compilers, code generators
C, C++
a source-to-source compiler that utilizes Lisp's macro system for meta programming of C-like languages. [GPL3][2].
a powerful "lispsy" macrolanguage for C. [MIT][200].
a fun package which introduces the C language syntax into Common Lisp. (Yes, this package is not for practical coding, I think.) WTFPL Licence.
The SEL enables the programmatic modification and evaluation of software (C/C++ support using Clang, compiled assembler, and linked ELF binaries). [GPL3][2].
C to Common Lisp compiler. [LGPL3][9].
C generator macro-driven language. GPL3.0.
an interactive REPL for the C language. [BSD_2Clause][17].
Cryptography
A library of crypto functions for Common Lisp. Not considered secure, but is still useful for the message digest functions. [Expat][14].
Collection of common crypto shortcuts. [zlib][33].
Common Lisp system for generating and parsing of OpenSSH keys. [BSD_3Clause][15].
Common Lisp system for parsing and generating bcrypt password hashes. [BSD_3Clause][15].
Common Lisp UUID library with zero dependencies. [MIT][200].
Cryptocurrencies
a (hopefully) complete Bitcoin Core RPC client. [AGPL-3.0+][agpl3]
Bitcoin Protocol components in Common Lisp. [MIT][200].
parse the blockchain contained in a file and export some of its data to a text file, a SQL script or a database. It can also create a database using the RPC of a Peercoin daemon as source of data instead of a blockchain file. LGPL3. Not in Quicklisp.
This program gives you the probability of generating a POS or POW block within 10 minutes, 24 hours, 31 days, 90 days and 1 year, as well as the reward that can be expected. GUI in Qt. [GPL3][2]. Not in Quicklisp.
A voting system based on data from the blockchain (addresses and balances). [GPL3][2]. Not in Quicklisp.
a Stacks API client. [AGPL-3.0][89]
a simple educational blockchain; emotiq, a next-generation blockchain with an innovative natural-language approach to smart contracts built in Common Lisp (stopped).
Database
A database-independent interface for Common Lisp. [LLGPL][8].
A DSL for generating SQL. [3-clause BSD][15].
Bindings for SQLite. Public domain.
SQL statements live in their own files, in SQL syntax, and are imported into Lisp as functions. You are not limited to the features a DSL supports. Based on Clojure's Yesql. [MIT][200].
Schemaless SQL document database with full history. [AGPL-3.0][89].
A lightweight database library. [3-clause BSD][15].
A library providing easy-to-use persistent configuration storage. [zlib][33].
in-memory database system. Implementation of Object Prevalence, in which business objects are kept live in memory and transactions are journaled for system recovery. github fork. [LLGPL][8].
an app that dynamically generates REST APIs for a Neo4j database, using a schema defined within the database. [GPL3][2].
Bindings to LMDB, the Lightning Memory-mapped Database, an ACID key-value database with MultiVersion Concurrency Control.
bindings to the C++ NDB API of RonDB, "the world's fastest key value store", by Dydra. GPLv2.
Common Lisp CFFI wrapper around the DuckDB C API. [MIT][200].
Common Lisp RabbitMQ client based on IOLib. MIT.
ORMs
An ORM for Common Lisp with migrations, relationships and PostgreSQL support [BSD_3Clause][15].
a mixin class for use authorization
a mixin class for file management outside of RDBMS.
an Oracle database driver for CL-DBI. [LLGPL][8].
Persistent object databases
a CLOS-based lisp-only database in RAM with transaction logging persistence. Manual. [licence][208].
an example web application using bknr.datastore.
if you want a highly-available replicated version of bknr.datastore. blog post.
cl-prevalence
Graph databases
a minimal client for AllegroGraph.
a library for interacting with Neo4J. Sends Cypher queries to a Neo4J server, and decodes the responses into something useful for processing in CL. [Apache2][89].
a thin neo4j RESTFUL client interface.
graph database & Prolog implementation. Takes design inspiration from CouchDB, neo4j and AllegroGraph. It implements an ACID-compliant object graph model with user-defined indexes and map-reduce views. It also implements a master / slave replication scheme for redundancy and horizontal read scaling. Querying the graph is accomplished via a number of Lisp methods or via a Prolog-like query language. [MIT][200].
Other DB wrappers
Fast, thread-safe interface to the Memcached object caching system. [Expat][14].
Redis client. [Expat][14].
Disque client. [3-clause BSD][15].
RethinkDB client. [Expat][14].
A minimalist CouchDB 2.x database client. BSD_3Clause.
Migration tools
To third parties
Data Formats
CSV
A library for parsing CSV files. [3-clause BSD][15].
Decimal number parser and formatter. Public domain.
automatic (encoding, end of line, column width, csv delimiter etc) detection for text files. [MIT][200]. See also inquisitor for detection of asian and far eastern languages.
Validates tabular CSV data using predefined validations, inspired from its Python homologue "Great Expectations". [BSD_3Clause][15].
data frames library, vellum-duckdb.
JSON
a correct, safe and fast JSON parser. [MIT][200].
Common Lisp JSON reading and writing for the Kzinti. [MIT][14].
A highly customizable JSON encoder and decoder. [MIT][14].
this extensive comparison of many more JSON libraries, as well as these benchmarks.
JSON tools
Parser-agnostic JSON indexing (with JSON Pointer support), destructuring, and validation framework. [BSD][15].
A metaclass for bridging CLOS and JSON objects. [MIT][200].
A JSON Pointer implementation. [MIT][200].
Common Lisp system for decoding public JSON Web Keys (JWK). BSD License.
A JSON Object Signing and Encryption (JOSE) implementation for Common Lisp. BSD_2Clause.
A JSONPath implementation for Common Lisp with 99% test compliance and complete real-world compatibility. MIT. With AI inside.
querying JSON, inspired by JSONPath by lisp-ier.
JSON online services
XML
A lenient XML parser. [zlib][33].
Implementation of the XML Path Language (XPath) Version 1.0. [BSD_2Clause][17].
A Common Lisp (RSS, Atom) feed parser. [LLGPL][8]
A common lisp library to ease interaction with CXML-dom, such as building Excel spreadsheets. [BSD][15].
a fork, with fixes and new features. You should use it if your are parsing potentially ill-formed or malicious XML, or if you need to use Klacks with namespaces.
A small, simple, non-validating XML parser. [3-clause BSD][15].
To read Excel files
Text and binary parsers
Simple parser combinators for Common Lisp, in the style of Haskell’s parsec and Rust’s nom. [MPL-2.0][211].
Parsing Grammar, Packrat parser, TDPL features and more. [Expat][14].
a library for parsing sequences such as strings and lists using Parsing Expression Grammars (PEGs). Inspired by Esrap. GPL2.
An experimental implementation of parsing expression grammars (PEGs, a la Janet) in Common Lisp. MIT.
A Lexical Analyzer Generator. [BSD_3Clause][15].
a LALR(1) parser generator. [MIT][200].
simple lexical analyzer for shell-like syntaxes. [MIT][200].
parser combinators for Common Lisp. SMUG makes it simple to create quick extensible recursive descent parsers without funky syntax or impenetrable macrology. [MIT][200].
a simple and pragmatic library for writing parsers and lexers based on combinatory parsing.
A library to easily read and write complex binary formats. [GPL3][2].
A DSL to generate TeX. [AGPL-3.0][agpl3].
Data Structures
strings
lists and sequences
Portability library for the extensible sequences protocol (SBCL documentation). [zlib][33].
a list manipulation library inspired by Haskell's Data.List. [LLGPL][8].
Non-empty collections for Common Lisp. [LGPL3][9].
(purely) functional data structures
hash-tables
algorithms
bigger collection libraries
a portable collection of data structures (mutable and immutable) and streaming algorithms (aggregations, group-by and so on, mainly dicts and sequences, with some statistical functions). [BSD][15].
an extensive library of data structures and utilities - queues, trees, heaps, doubly-linked lists, sets, bags,... [MIT][200]
Other data structures
lock-free, concurrent, key/value index with efficient memory-mapped persistence and fast transient storage models. [MIT][200].
Efficiently represent several finite sets or small integers as a single non-negative integer. [MIT][200].
Common Lisp library for handling bit vectors, bit vector arithmetic, and type conversions. [MIT][200].
Docker images
base Docker image for Common Lisp projects with SBCL or CCL and the latest ASDF, Qlot and Roswell.
GitHub Action to Setup Common Lisp tools. updates ASDF, installs Qlot, installs Roswell for multiple implementations for Ubuntu, OSX and Windows. Example use: Trial's CI
Docker Arch Linux image with Common Lisp implementations (7 to this day). MIT.
C
Portable, easy-to-use C foreign function interface. [Expat][14].
Automatically parses header files into CFFI definitions. [FreeBSD][39].
A command line tool and library for creating Common Lisp language bindings from C header files. [MIT][200].
Gobject Introspection FFI. Automatic bindings to call into the C library. [BSD][15]. Generate a lisp interface with gir2cl. [LGPL3][9].
Common Lisp and C++ interoperation with JIT. [MIT][200].
Clojure
dead easy Clojure to Common lisp interop. EPL-2.0.
Clojure in Common Lisp.
Clojure collection and sequence APIs in Common Lisp, with optional Clojure collection syntax. [Eclipse][209].
Clojure-style concurrency operations in Common Lisp. [MIT][200].
Clojure-style regular expression functions.
Clojure-compatible threading/transformation/arrow macros for Common Lisp.
enables rebinding of global functions, inspired by Clojure's with-redefs.
a few idioms, mostly relating to sequences, that I miss when writing Common Lisp. [MIT][200].
Objective-C
Python
A bridge between Python and Common Lisp. The goal is that Lisp programs can use Python libraries. Not available on Quicklisp. [MIT][200].
The library cl4py (pronounce as clappy) allows Python programs to call Common Lisp libraries. [MIT][200].
A library that allows Common Lisp code to access Python libraries. It is basically the inverse of cl4py. [MIT][200].
an implementation of Python in Common Lisp. [LLGPL][8], not under active development.
py4cl
Game Development
Fully auto-generated Common Lisp bindings to Raylib and Raygui using claw and cffi-object. Apache 2.0.
With this small framework you would be able to make simple 2D games: draw basic geometric forms, images and text, play sounds and listen to mouse and keyboard input. [MIT][200].
An easy-to-use but flexible game framework based on Raylib for Common Lisp. Apache2.0.
Fully auto-generated Common Lisp bindings to Raylib and Raygui using claw and cffi-object. Apache 2.0.
Graphics
A CL framework for the creation of electronic art, graphics, and lots more. [MIT][200].
A basic library for producing SVG files. [Expat][14].
render SVG images to PNG using Vecto and zpb-ttf. 0BSD.
exact color manipulation and conversion in various color models. [MIT][200].
a library for representing and processing images. [BSD_2Clause][17].
Lisp to GLSL translator. [BSD_2Clause][17].
A PNG (Portable Network Graphics) image format decoder in portable Common Lisp with an emphasis on speed. [MIT][200].
image manipulation library for Common Lisp.
An up-to-date Common Lisp bindings library to the most recent GLFW OpenGL context management library.
the OpenCV (Open Source Computer Vision Library) binding library for CommonLisp. No license specified.
Cairo bindings. [Boost 1.0][54]
Baseline JPEG encoder and decoder library. [3-clause BSD][15].
Interface and bindings to the Allegro 5 game programming library. [zlib][33].
CFFI bindings to OpenGL, GLU and GLUT APIs. [3-clause BSD][15].
Bindings for SDL2 using C2FFI. [Expat][14].
Common Lisp 2D/3D graphics engine for OpenGL. [FreeBSD][39].
Graphviz interface for Common Lisp. [Expat][14].
A set of bindings for SDL. [Expat][14].
ImageMagick bindings. [BSD][15]. Not in Quicklisp.
A library to use NVIDIA CUDA in Common Lisp programs. [LLGPL][8].
GUI
FFI bindings to the Horde3D graphics library. Not available on Quicklisp. [EPL 1.0][59]
GTK4/Libadwaita/WebKit binding for Common Lisp. [LGPL3][9].
Binding for GTK+3. [GNU LGPL2.1][11].
A Common Lisp binding for Qt4 via QtSmoke. [FreeBSD][39].
A Win32 GUI library. [MIT][200].
Wrapper over the Nuklear immediate mode GUI library. [MIT][200].
Common Lisp/CFFI bindings for the Vulkan API. [MIT][200].
supports Vulkan 1.0 and 1.2, including compute pipelines. Vulkan 1.1 and 1.3 are coming soon. MIT.
Cocoa interface for Clozure Common Lisp. Build Cocoa user interface windows dynamically using Lisp code and bypass the typical Xcode processes. It has good documentation and a tutorial.
A binding to WebKitGTK+. Also adds web browsing capabilities to an application, leveraging the full power of the WebKit browsing engine. [MIT][200].
Web views
Interfaces to other package managers
Isomorphic web frameworks
The Common Lisp Omnificent GUI. Uses web technology to produce graphical user interfaces for applications locally or remotely. [BSD_3Clause][15].
A widgets-based framework with a built-in ajax update mechanism that "solves the JavaScript problem". [LLGPL][8].
ISSR allows you to make interactive web pages without writing client scripting. No knowledge about Javascript or DOM is necessary.
Quicklisp systems to debian packages, along with deb-packager (simply create a debian package by defining an s-expression). Both [MIT][200].
simply create a debian package by defining an s-expression
Update cl-* debian packages from Quicklisp releases. WTFPL.
debhelper utility to let you compile your quicklisp-based Common Lisp code into a buildapp binary in a .deb with almost no effort. [MIT][200].
Homebrew formula builder for (command line) common lisp applications. Public domain.
WIP system for delivering Common Lisp applications as executable bundles. For now it only supports AppImage format for Linux and MSIX for Windows, but .APK for Android and later MacOSX and iOS bundle formats are planned too.
Common Lisp module for Nix, without Quicklisp. [AGPL-3.0][51]
a plugin for the universal package manager.
Unofficial AWS SDK for Common Lisp.
Provides interfaces for each AWS services as individual systems. [BSD_2Clause][17].
Common Lisp library for Amazon Web Services signing version 4. [GNU GPL3][2].
A library for working with Amazon's Simple Storage Service (S3) and CloudFront service. [BSD][15].
The successor to the South (Simple OaUTH) library, implementing the full oAuth 1.0a protocol, both client and server sides. Using North you can easily become an oAuth provider or consumer. [zlib][33].
an easy-to-use Common Lisp OAuth 2.0 client library. It is a port of the Racket OAuth 2.0 Client to Common Lisp. [LGPL3][9].
a client library implementing the full v1 REST API protocol for Mastodon. [zlib][33].
a wrapper around the MediaWiki api. [MIT][200].
An implementation of OpenID. [LLGPL][8].
Common Lisp bindings to Pushover. [MIT][200].
A Tumblr API interface. [zlib][33].
post to multiple services simultaneously. [zlib][33].
a client for the Stripe payment system. [MIT][200].
Wrappers around various payment processors: Paypal, Stripe, Coinpayments and BTCPayServer. [MIT][200].
A complete wrapper over the Client -> Server Matrix API. [MIT][200].
Alternative Telegram Bot API bindings, auto-generated from Telegram website. [3-clause BSD][15].
Hunchentoot plugins
a routes handling system on top of Hunchentoot. It supports dispatch based on HTTP method, arguments extraction from the url path, decorators, url generation from route name, etc. [MIT][200].
a library for executing CGI scripts from the hunchentoot webserver. [BSD][207].
Route multiple domains (virtual hosts) on a single hunchentoot acceptor using a single port. [Apache2.0][89].
Augments Hunchentoot error pages and logs with request and session information. [MIT][200].
Monitors hunchentoot connections and logs the connections stuck in the same state for a long time. offers an option to shutdown the stuck connections sockets manually or automatically, thus unblocking the connection threads and preventing thread and socket leakage. [BSD_2Clause][17].
Hunchentoot Gserver-based taskmanager. cl-gserver is an actor-like message-passing library (see below in "Actors pattern"). Experimental.
a taskmaster implementation for Hunchentoot, aiming to improve connection establishment efficiency through thread-pooling and flexible thread count adjustment. BSD_2Clause.
Clack plugins
A tiny routing library for Common Lisp targeting Clack. [BSD_3Clause][15].
Error page middleware for Clack. Unmaintained. [LLGPL][8].
a single sign-on middleware for Clack. It allows basic login with OAuth1.0a, OAuth2 and OpenID. At the time of writing, it supports authentication from Google, Twitter, LinkedIn, StackExchange, Reddit and Github. [Apache2.0][89].
a testing and debugging tool for clack. [Apache2.0][89].
Security for Clack-based web applications. [Expat][14].
Live reload prototype for clack. [LLGPL][8].
a cache-busting static asset middleware for the clack. [MIT][200].
lack middleware for compressing and caching static resources. MIT.
lack middleware to reroute URIs of requests. MIT.
Browser tests
User login and password management
Password management for Common Lisp (web) applications. [LLGPL][8].
Helper to authenticate a website's users by sending them unique code by email.
A library to help CAS authenticaton to Common Lisp web applications. Not in Quicklisp.
CAS authenticaton middleware for Caveman.
a demo project.
Web project skeletons and generators
a Cookiecutter template to start a web project. [BSD_3Clause][15]. Not in Quicklisp.
an application template builder for LIKE (Lisp In Kubernetes + Emacs) applications. [Apache2.0][51].
a simple web application boilerplate. Uses Hunchentoot, cl-who, deploys easily to Heroku. [MIT][200].
A CSS grammar. [Expat][14].
Programmatically find open ports. [MIT][200].
Makes retrieving large files or mirroring entire websites easy. [AGPL-3.0][51].
Download files.
HTTP Cookie (jar) manager: parse and write (set-)cookie headers, compare cookies, optional cookie attribute sanity check. [MIT][200]
System for detecting mobile devices (including tablets) in User-Agent strings. MIT.
Random User-Agent generator for Common Lisp. BSD_2Clause.
tries to make easy some common cases of working with IMAP servers, like reading emails from the server. A thin wrapper over post-office library (which is a fork of Franz's cl-imap). [BSD][15].
send emails with Sendgrid's API. [MIT][200].
A thin wrapper to post HTML emails through mailgun.com. [unlicence][5].
OpenAPI, OData, OpenRPC
A Common Lisp library for handling Web API requests and responses. [BSD_3Clause][15].
Common Lisp client library for accessing OData services. [MIT][200].
OpenRPC implementation for Common Lisp. [BSD][15].
JSON-RPC 2.0 server/client for Common Lisp. [BSD][15].
Mobile
Implementations
SBCL
Dynamic library delivery tools for SBCL. Create shared libraries that can be called from C or Python. MIT. Blog post. Tutorial.
Distributing binaries with Common Lisp and foreign libraries: libssl, libcrypto and libfixposix are statically baked in. [MIT][200].
Nightly builds of SBCL using MSYS2 UCRT64. See also Roswell's SBCL MSI builds.
Packaged into NSIS installer and updated monthly (unofficial)
a new Common Lisp implementation that seamlessly interoperates with C++ libraries and programs using LLVM for compilation to native code. This allows Clasp to take advantage of a vast array of preexisting libraries and programs, such as out of the scientific computing ecosystem. [LGPL2.1][11] (and others).
A GNU implementation; contains a compiler and an interpreter. [Standard conformance][6]. [GNU GPL3][2]. They develop on Gitlab.
a Common Lisp development environment for Microsoft Windows running on Intel platforms. [MIT][200].
A script to run Lisp snippets in multiple implementations. This allows you to quickly compare implementation behaviour and differences. [zlib][33].
Lisp parsers
Language extensions
Another general-purpose utility library. [Expat][14].
radical yet reasonable syntactic utilities for Common Lisp. [MIT][200].
Generic function interface to standard Common Lisp functions (equality, comparison, arithmetic, objects, iterator, sequences,…). [MIT][200].
Clojure-like threading macros. [MIT][200].
a code walker and unwalker (aka AST parser and unparser). [BSD][15]. See also this blog post.
generic-cl
Portability layers
A portable library to retrieve the arguments list and argument types of a function. [zlib][33].
a general definitions introspection library. It gives you the ability to retrieve definitions or bindings associated with designators such as symbols, packages, and names in general. [zlib][33].
when a lot of projects use the “trivial-backtrace” system that just gives them a string with a backtrace, Dissect allows you to capture, step, and completely inspect the stack trace on a variety of Lisp implementations. Also very useful for logging and other situations where execution is automatically continued, but the information of the current stack is still useful to store somewhere. [zlib][33].
Changing the syntax
Python-like annotations for Common Lisp. [LLGPL][8].
A utility library intended at providing reader macros for lambdas, mapping, accessors, hash-tables and hash-sets. [MIT][200].
Arc language's brevity and conciseness to Common Lisp. [Artistic License 2.0][51].
For strings
For strings:
for only string interpolation, with no dependencies. MIT.
a reader macro to provide visually appealing multiline blocks. An M-string trims leading whitespace, concatenates lines together, etc. [BSD_3Clause][15].
A simple and unobtrusive read table modification inspired by Python's three quote strings. [BSD_3Clause][15].
CLOS extensions
A compatibility layer that rectifies many absent or incorrect MOP features. [Expat][14].
generic functions based on types. Simplified BSD License variant.
enable the use of arbitrary predicates for selecting and applying methods. [MIT][200].
Bringing the speed of Static Dispatch to CLOS. [LLGPL][8].
allows standard generic function dispatch to be performed statically (at compile time) rather than dynamically (runtime). This is similar to what is known as "overloading" in languages such as C++ and Java. [MIT][200].
simple, dynamic class combination. [BSD_2Clause][17].
Seal your generic functions for an extra boost in performance. [MIT][200].
A function type to dispatch on types instead of classes with partial support for dispatching on optional and keyword argument types. Still experimental (May, 2021). [MIT][200].
Writing terser defclass forms
a shortcut macro to write DEFCLASS and PRINT-OBJECT forms quickly. [LLGPL][8].
Syntactic sugar for class and generic function declarations. Features type inference, automatic accessors, inline initform syntax, automatic exports, and other conveniences. [BSD][15].
Function extensions
Hooks extension point mechanism (as known, e.g., from GNU Emacs). LGPL.
When CLOS method combination allow only one hook per method, this library allows an arbitrary number of them. Mozilla Public Licence.
an attempt of portable layer advice library for SBCL, CCL, LispWorks and Allegro. Not in Quicklisp.
an enhanced implementation of hooks (extension points) with crucial improvements.
Iteration
Additional dolist style macros for Common Lisp. [MIT][200].
another extensible iteration library, similar to :for.
Ergonomic, efficient data processing. [LGPL3][9].
Python style generators for Common Lisp. Includes a port of itertools. [Apache2][89].
An (almost) complete port of Python's itertools package, complete with laziness where applicable, and not relying on cl-cont. [MIT][200].
A concise and extensible iteration facility that has the advantage of integrating well with FSet (see the Data Structures section), as it was written by the same author. In Quicklisp as part of misc-extensions. Public domain.
An implementation of CL:LOOP that can be used in any CL implementation without replacing the core CL:LOOP, is extensible and has a "batteries included" extension system with many useful iteration constructs.
A concise, lispy and extensible iteration macro. It is extensible and sensible, and unlike iterate it does not require code-walking and is easier to extend. [zlib][33].
Lambda shorthands
a couple of lambda shorthand macros. (fn* (+ )) --> (lambda () (+ _)). Public domain.
a tiny library of functional programming utils. (f (+ )) -> (lambda () (+ )). Public domain.
Scala-like anonymous lambda literals. (mapcar ^(* 2 _) '(1 2 3 4 5)). [MIT][200].
Non-deterministic, logic programming
Common Interface to ISO Prolog implementations from Common Lisp. [MIT][200].
augment Common Lisp with practically all of the functionality of both Prolog and constraint logic programming languages. Blog post solving Project Euler puzzles. [MIT][200].
increasing the expressiveness of SCREAMER. [MIT][200].
logic programming. [MIT][200]. A focus on performance, with General Game Playing in mind.
Reactive programming
an implementation of the dataflow programming paradigm, reactive spreadsheet-like expressiveness for CLOS. Used to build an algebra learning system. With documentation. Lisp LGPL.
Light Weight Cells. LWCELLS is a dataflow extension to Common Lisp. It maintains a consistent state of cells according to functions specifying their relation. LWCELLS is designed to be simple, clean, compositional and flexible.
A reactive programming library for Lisp. BSD_3Clause.
Contract programming
Typing
an efficient, statically typed functional programming language that supercharges Common Lisp. [MIT][200].
provides missing but important type definitions such as proper-list, association-list, property-list and tuple. [LLGPL][8].
a collection of macros for easy inclusion of type declarations for arguments in lambda lists. [GNU GPL3][2]
defining algebraic data types in a similar spirit to Haskell or Standard ML, as well as for operating on them. [BSD_3Clause][15].
Coalton
Real-time, project-wide Coalton compilation with isolated processes for LSP integration. [MIT][200].
a JSON parser implemented in Coalton.
primitive thread and concurrency operations for Coalton.
Functional IO interfaces. Includes terminal IO, file system IO, random variables, mutable variables, multithreading, and safely sharing state between threads.
syntax highlighting, code completion, autodoc, interactive compilation commands (coalton-compile-defun, C-c C-c).
Theorem provers
ACL2
Online
Practical Common Lisp
Intermediate
Web Development
Reference
Common Lisp Standard Draft (pdf)
Common Lisp the Language
Library Manager
shell out to cURL and use HTTPS by default.
A modern dependency management tool with novel features. [MIT][200].
a Lisp implementation installer, script launcher and more. [MIT][200].
A project-local library installer, similar to Bundler or Virtualenv. [Expat][14].
Just vendor your dependencies! [MPL-2.0][211].
A system installation/loading abstraction for Common Lisp.
facilities to produce Quicklisp distributions.
easily override quicklisp projects without using git submodules. [MPL-2.0][211].
print licenses used by a project and its dependencies. [MIT][200].
A minimal wrapper around dot to generate an image of the dependencies graph.
HTTP clients
An HTTP client, that aims at replacing Drakma. [MIT][200].
A lightweight, async HTTP client built on top of cl-async and fast-http. [MIT][200].
A fast HTTP request/response parser for Common Lisp. [MIT][200].
HTTP/2 implementation in Common Lisp. [MIT][200].
HTTP Servers
A web application environment inspired by Rack and WSGI. [LLGPL][8]. Provides a unified interface to a webserver of choice (default is Hunchentoot). With more getting started guide.
Asynchronous HTTP server. [Expat][14].
A fast non-blocking HTTP server on top of libev. [MIT][200].
an attempt to provide the functionality of Franz.com's AllegroServe web server (open-source but tied to AllegroCL) to other lisp implementations.
(open-source but tied to AllegroCL)
a portable fork of AllegroServe [LLGPL][8].
a pure Common Lisp transport agnostic implementation of the HTTP/2 protocol at draft-14. [MIT][200].
Web frameworks
REST-focused frameworks
A RESTful web framework. Web server agnostic. Currently has support for Hunchentoot and Clack. Routes are just functions and HTTP conditions are just Lisp conditions. [LLGPL][8].
a library for writing REST web APIs. Features validation with schemas, annotations for logging, caching, permissions or authentication, documentation via Swagger, etc. [MIT][200].
Parsing html
Sanitizing HTML
HTML generators and templates
HTML generators and templates
Common Lisp HTML5 generator. [Expat][14].
A port of Django's template engine to Common Lisp. [Expat][14].
a template designer tool.
the completness of Djula with the full usability of Common Lisp code in templates. [MIT][200].
Implementation of Google's Closure templates, where compiling a template creates a function that generates the result. [LLGPL][8].
An easily composable HTML5 generation library with the most simplistic syntax. [MIT][200].
and markup - Two JSX-like templating engines, where HTML tags are Common Lisp code. markup comes with an Emacs package.
use TailwindCSS classe in your Djula templates without any JavaScript or Node.js tooling.
An HTML template processor where the templates are written in HTML. [zlib][33].
URI and IP handling
URI and IP handling
Another URI library for Common Lisp. Supports userinfo, IPv6 hostname, encoding/decoding utilities,… [BSD_3Clause][15].
a small library to make slugs, mainly for URIs, transform in CamelCase, remove accentuation and punctuation, for english and beyond. [LLGPL][8].
A network address manipulation library for Common Lisp. MIT.
Javascript
Javascript
A CL-to-JS compiler designed to be self-hosting from day one. GPL3.0.
Project source: jscl-kernel.
send JavaScript from Common Lisp to a browser. [MIT][200].
A Parenscript to Javascript command line compiler and REPL. [MIT][200].
Common Lisp to JavaScript compiler.
a set of ES6 macros for Parenscript.
async/await for Parenscript.
Jquery-style macros for Parenscript. MIT.
Utilities for **React**:
Common Lisp (Parenscript) utilities for building web apps in ReactJs. MIT.
a Parenscript library for React. Not in Quicklisp. [MIT][200]. Its TodoMVC example.
Parenscript Macros to aid generating react code. [MIT][200].
A web framework for writing react components in common lisp using jscl. No license specified.
SDK for **[Datastar](https://data-star.dev/)**:
Deployment
Deployment
Kubernetes client library for Common LISP generated from the Swagger specification. [MIT][200].
Source-to-Image builder image based on CentOS or alternatively RHEL7 for building Common LISP images for OpenShift (and also Docker). It features an up-to-date SBCL with Quicklisp installation, SLIME or SLY integration and allows customization via environment variables. [Apache2][89]
An example of using Common Lisp (SBCL) as a custom runtime on AWS lambda. WTFPL.
Highly opionated Github Actions workflow builder for Common Lisp projects.
GitHub action to build an executable Common Lisp program on Ubuntu, MacOS and Windows. MIT.
A toolkit for binary deployment of Lisp applications, with extra support for foreign shared libraries. [zlib][33].
Example of Common Lisp server on Heroku using Docker.
Monitoring
Prometheus.io client. Grafana dashboard for SBCL and Hunchentoot metrics (memory, threads, requests per second,…). [MIT][200].
a Sentry client for Common Lisp, the cloud-based error monitoring system. [MIT][200].
interface to Rollbar.com, an error tracking software.
Websockets
A portable TCP and UDP socket interface. [Expat][14].
Portable websockets for Common Lisp, using usocket. [LLGPL][8].
websockets server in CL, built on IOlib and libfixposix. MIT.
RFC6455 compliant WebSockets for Common Lisp, as an extension to Hunchentoot. [MIT][200].
based on Clack.
I/O library. [Expat][14].
Numerical and Scientific
to ease the interface between Maxima and Common Lisp.
Numpy clone in Common Lisp. [LGPL3][9].
SIMD powered simple-math numerical operations on arrays for Common Lisp through CFFI [still experimental]. MIT.
Numpy like array object for common lisp. MIT.
A library for regular array parallelism. [3-clause BSD][15].
an attempt to generate high performance code for parallel computers by JIT-compiling array definitions. It works on a more fundamental level than NumPy, by providing even more powerful N-dimensional arrays, but just a few building blocks for working on them. [AGPL-3.0][agpl3].
Common Lisp data analysis library with emphasis on modularity and conceptual clarity. It aims to be a general purpose framework for analyzing small and large scale datasets, including binned data analysis and visualization. [GNU GPL3][2].
Efficient and expressive arrayed vector math library with multi-threading and CUDA support. [MIT][200].
a collection of functions and macros for manipulating Common Lisp arrays and performing numerical calculations with them. [MIT][200].
a system for two dimensional computational geometry for Common Lisp. [MIT][200].
Data Frames for Common Lisp. BSD_2Clause.
a selection of the math routines most commonly needed for making realtime graphics in lisp (2, 3 and 4 component vectors, 3x3 and 4x4 matrices, quaternions, spherical and polar coordinates). BSD_2Clause.
a Hierarchical Task Network (HTN) AI planner. Mozilla Public License.
Matrix libraries
Lisp Linear Algebra. MS-PL. a high-level Common Lisp library built on on BLAS and LAPACK, but providing a more abstract interface with the purpose of freeing the user from low-level concerns and reducing the number of bugs in numerical code.
Matrix Algebra proGrams In Common Lisp based on BLAS/LAPACK and Expokit, by Rigetti Computing. [BSD_3Clause][15].
A matrix package. [FreeBSD][39].
A library implementing common matrix calculations, with an emphasis on 2x2,3x3, and 4x4 matrices as commonly used in graphics. It provides some numerical functions as well, but those are not the focus. The library is heavily optimised, so it is not made of pretty code. [zlib][33].
a matrix library. [BSD_2Clause][17].
Statistics
Plotting
a Vega-lite DSL. MS-PL. includes functions for text-based plotting that work in the REPL, and JavaScript visualisations that are rendered in a browser.
an Emacs plugin that allows to display a Vega plot from a lisp-stat expression in a buffer.
an interface to the gnuplot plotting utility with the intention to resemble some of the plot commands of octave or matlab. [GPL3][2].
a lispy, structure-less Gnuplot library. With its cookbook. [LLGPL][8]
A high-level plotter library for Common Lisp. A wrapper around the Plotly JS library. [MIT][200].
Use plotly in your browser to explore data from a Common Lisp REPL. [BSD_3Clause][15].
Plot with text in Common Lisp. No licence specified.
sparkline strings for the console: (spark '(1 1 2 3 5 8)) => "▁▁▂▃▅▇". [MIT][200].
Parallelism and Concurrency
A library for parallel programming. [3-clause BSD][15]. Originally on lmj/lparallel.
distributing work across machines (on top of lparallel and usocket). [BSD_3Clause][15]
CSP-like channels for common lisp. With blocking, optionally buffered channels and a "CSP select" statement. ISC-style. "It is complete, flexible and easy to use. I would recommend Calispel over Lparallel and ChanL." @Ambrevar. discussion
Portable, channel-based concurrency. [Expat][14], with parts under [3-clause BSD][15].
A library for general-purpose, non-blocking programming. [Expat][14].
Monitor and restart background threads. In-lisp process supervisor. [MIT][200].
a Common Lisp library offering a way of spawning threads and being informed when one any of them crash and die. [MIT][200].
a library for the Gearman distributed job system. [LLGPL][8].
distributed computation framework implemented using Swank Client. [BSD_3Clause][15].
a coroutine library. It uses the CL-CONT continuations library in its implementation. [MIT][200].
High performance Transactional Memory for Common Lisp. [LLGPL][8].
a Promise implementation for Common Lisp [MIT][200].
a basic promise datastructure, with timeouts. ZLIB.
Cancellation propagation library for Common Lisp with deadlines and timeouts. MIT. With LLM.
Run etcd as an asynchronous inferior process. etcd is a strongly consistent, distributed key-value store. [AGPL-3.0][agpl3].
Actors pattern
Sento (formerly cl-gserver) is a 'message passing' library/framework with actors similar to Erlang or Akka. It supports creating systems that should work reactive, require parallel computing and event based message handling. [Apache2][89].
package for LispWorks (announce) [MIT][200].
an "ongoing investigation into the use of the Actor model in Common Lisp, which has had the benefit of real-world application". it was part of the Emotiq blockchain (a discontinued project) does remoting, includes a threading abstraction layer library similar to Bordeaux-Threads. ! it lacks unit tests.
Event processing
A very simple task scheduling framework. [zlib][33]. saves the return values and the task environment in case of failure, so we can inspect it later.
Deeds is an Extensible Event Delivery System. It allows for efficient event delivery to multiple handlers with a complex event filtering system. [zlib][33].
Data-flowish computation tree library for non-blocking concurrent Common Lisp. [MIT][200].
simple eventing abstraction. No dependencies. It can be used anywhere you need a generic event handling system. [MIT][200].
A full-featured NATS messaging client for Common Lisp. MIT. With LLM. Pub/Sub, request/reply, TLS 1.3, auto-reconnect, cluster discovery, Keep-Alive, cancellation.
Job processing
redis-based background job processing for Common Lisp applications. Inspired by Ruby's Sidekiq and compatible with its web UI. [LLGPL][8].
A simple tool that provides cron like facilities. [GPL3][2].
a cron-like scheduler with sane DSL. [MIT][200].
Regular expressions and string parsing
Scripting
Shell scripting made Lisp-like! Or, live-coding remote function calls for the shell. Write a command in the REPL, and run it instantly in the shell. [LLGPL][8].
CIEL Is an Extended Lisp is a collection of dozens of libraries useful for mundane tasks (HTTP, JSON, regexps…). [unclear licence] It also comes as a binary that is able to run scripts from sources. Scripts that use the built-in libraries start fast without a compilation step. in beta as of 2024
an infrastructure (managing a hidden multicall binary) to make Lisp scripting efficient and ergonomic. [MIT][200]. Kiln makes it practical to write very small scripts. Kiln scripts are fast and cheap to the point where it makes sense to expose even small pieces of Lisp functionality to the shell.
a rich command-line options parser system. it may have the richest feature set: subcommands, generation of bash completion, support for various kinds of options (integers, booleans, counter, enums…), extensible…
define flags as simple defvar declarations.
A Damn OPTion parsing library. [MIT][200].
Readline, ncurses and other graphical TUI helpers
Readline, ncurses and other graphical TUI helpers
A Common Lisp library for building rich, responsive TUIs. MIT. model-view-update Elm architecture, reusable widgets (text input, spinner, progress bar…), mouse support, layout helpers…
a set of functions to edit lines as they are typed in, to maintain a list of previously-entered command lines, to recall and reedit them and perform csh-like history expansion. Emacs and vi editing modes. [GPL3][2].
Termbox2 bindings. "termbox2 is a terminal I/O library for creating TUIs. It is a slim alternative to the ubiquitous ncurses library. Unlike ncurses, it has a tighter API, and comes with built-in support for popular terminals if a terminfo db is not present on the system."
helpers to turn existing code into a readline application, with a focus on defining the completion of the commands' arguments. Also comes as a ready to use executable, that transforms a user's lispy init file into readline commands. [MIT][200].
print colorized text, horizontal lines, progress bars, (un)ordered lists and tables on ANSI-compliant terminals. [GPL3][2].
progress bars, just like in Quicklisp ! [MIT][200].
a progress bar on one line, for real an dumb terminals. MIT.
Toolkit to draw graphics using pure Unicode text only: boxes, backgrounds, checkboxes and radio buttons, lines, arrows, tables, trees… zlib.
a low-latency, grid-based terminal graphics engine with an integrated event loop. MIT. mouse support, 60fps rendering, deploy anywhere via SSH or TTYD.
cross-platform library for writing terminal interfaces with minimal dependencies. BSD_3Clause. a higher-level buffered drawing abstraction and low-level utilities are provided.
Shells, shells interfaces
a POSIX-like shell in Common Lisp. [Apache2.0][89].
Mount Unix system into Common Lisp image. Unix concepts are directly/shallowly embedded into Lisp (Unix commands become Lisp macros, Unix file become Lisp variables, Unix streams become lazy Lisp sequences, etc).
utility for running external programs. Protects against shell interpolation, built with multi-threaded programs in mind, Windows support. [MIT][200]. uiop:run-program (synchronous) and uiop:launch-program (async) are shipped with ASDF and available on all modern implementations. See the CL Cookbook: running external programs.
extends Common Lisp to embed shell code in a manner similar to perl's backtick. [FreeBSD][39].
Updating executables
Other scripting utilities
an AWK implementation embedded into Common Lisp, to search files for lines and perform specified actions on its fields. BSD-style.
query language and terminal utility for querying and transforming Lisp, JSON and other text files. written in Common Lisp. [MIT][200].
[stalled] - allow hundreds of Lisp applications to be realistically available at once, while allowing several of them to run concurrently. WCL accomplishes this by providing Common Lisp as a Unix shared library that can be linked with Lisp and C code to produce efficient applications. For example, the executable for a Lisp version of the canonical Hello World! program requires only 20k bytes on 32 bit x86 Linux. WCL also supports a full development environment, including dynamic file loading and debugging. A modified version of GDB is used to debug WCL programs, providing support for mixed language debugging. - a paper: "Delivering efficient Common Lisp applications under Unix".
Emacs
Superior Lisp Interaction Mode for Emacs; a full-blown environment for Common Lisp inside of Emacs. Public domain.
SLY is a fork of SLIME and contains multiple changes and new features, such as Sly stickers.
A portable and multiplatform Common Lisp environment: SBCL, Quicklisp, Emacs, Slime, Git.
Starter kits
A tiny Emacs initialization file to quickly set up vanilla Emacs for Common Lisp programming. Comes with a line-by-line explanation of every line of code in the initialization file.
A trivial way to get a native Common Lisp environment on Windows.
a Docker container for Common Lisp development environment. Ships SBCL, CCL, Roswell and Emacs 26 with Slime.
is an attempt at making Emacs beginner friendly.
A portable and multiplatform Common Lisp environment: SBCL, Quicklisp, Emacs, Slime, Git.
Slime extensions
a SLIME configuration with extensions pre-installed, with also some custom utilities and menus:
enhance the default help buffer.
Search, browse and load Quicklisp systems from Emacs.
Perform apropos queries across libraries in Quicklisp (full-text search on symbol names, classes, documentation…).
the lisp critic gently critiques your code for bad patterns.
Sly extensions
an extension for Sly that enables the overlay of Common Lisp evaluation results directly into the buffer in the spirit of CIDER (Clojure), Eros (Emacs Lisp) and the Lem editor.
from the debugger, evaluate expressions in a REPL with frame context (and not only in the minibuffer).
an extension for Sly that enables the overlay of Common Lisp evaluation results directly into the buffer in the spirit of CIDER (Clojure), Eros (Emacs Lisp) and the Lem editor.
Unit Testing
Editor utilities
Simple regression testing framework. [FreeBSD][39].
An extensible and cross-compatible testing framework. With test dependencies, conditions, fixtures and restarts. [zlib][33].
A unit testing library. [MIT][200].
A small stubbing and mocking library for Common Lisp. Can also check wether a stubbed function was called, how many times and with which arguments. [MIT][200].
Another mocking library. It has more features than Mockingbird, like pattern matching on the mocked call, etc.
A QuickCheck-style randomized property-based testing. [LLGPL][8].
a helper library to post test coverage to Coveralls. See SBCL's code coverage tool. [FreeBSD][39].
Why write programs in Common Lisp but tests like Java? Meet CheckL!
a set of Hamcrest matchers that can be combined to create flexible expressions of intent. Helps make your unittests more readable by using assertions such as has-plist-entries, has-slots, has-length, contains, contains-in-any-order, has-all… [BSD_3Clause][15].
a testing utility where tests are included at the top of a defun/t form. They are run when you recompile your functions interactively. With mocking and stubbing support. [GPL3][2].
Vim & Neovim
Superior Lisp Interaction Mode for Vim; a full-blown environment for Common Lisp inside of Vim. No license specified.
VLIME: Vim plus Lisp Is Mostly Evil. A Common Lisp dev environment for Vim (and Neovim). [MIT][200].
A Quicklisp frontend for Neovim.
slimv in a Docker container.
LispWorks
VSCode
an extension to support syntax highlight, auto completion, documentation on hover, go to definition, compile & load file, REPL. It is On GitHub.
Common Lisp Extension for VSCode. Public domain.
structural editing and navigation like Emacs.
Geany (experimental)
Notebooks
A Common Lisp kernel for Jupyter along with a library for building Jupyter kernels, based on Maxima-Jupyter by Robert Dodier which was based on cl-jupyter by Frederic Peschanski. [MIT][200].
A Common Lisp kernel for Jupyter notebooks custom licence.
common-lisp-jupyter
Cytoscape.js widget for common-lisp-jupyter.
Kekule.js widget for common-lisp-jupyter.
A ngl widget (protein viewer) for common-lisp-jupyter.
Data grid widget for common-lisp-jupyter.
REPLs
an enhanced REPL for the terminal. MIT.
an ipython-like REPL. With completion, shell commands, magic commands, debugger, etc. [GPL3][2].
a readline REPL for SBCL. With completion, quick commands, optional syntax highlighting (with pygments), and no interactive debugger. [GPL3][2].
a tiny editing facility, where you can directly load, edit, manipulate and evaluate file or file content from the REPL, when going to a full IDE is too much. [MIT][200].
Text Processing
Full-text indexing and search for Common Lisp. [Expat][14].
Calculate various string metrics efficiently in Common Lisp (Damerau-Levenshtein, Hamming, Jaro, Jaro-Winkler, Levenshtein, etc). [MIT][200].
Text language identification using Wikipedia data. No license specified.
Phonetic pattern matching library for Common Lisp (intended to replace the Sylvia library for Python). [MIT][200].
Generate string from regular expression. [MIT][200].
clean html strings: "<a>foo</a>" → "foo". [LLGPL][8].
A software for AST-based diff calculation, display, and automated resolution. Written in C++ and CL, you'll find Lisp utilities.
Tools
Utilities
Caching (serialization)
a portable serialization package which gives you the ability to store all common-lisp data types into streams. MIT.
General caching facility. Cache any Lisp object on disk or in memory. [LLGPL][8].
binary serialization.
a naive persisted, in memory (lazy loading), indexed, document store for Common Lisp. [MIT][200].
A fast Common Lisp binary serializer/deserializer. BSD_3Clause. See reddit announce (2025).
Caching (memoization)
Compression / decompression
A decompression library. [3-clause BSD][15].
a library for reading and creating archive (tar, cpio) files. [BSD_3Clause][15]. A pure Common Lisp replacement for the tar program.
Common Lisp interface to zlib via CFFI. GPL3.
A ZIP archive format library based on 3bz. [zlib][33].
Configuration
Date and time
A library to fuzzily parse date and time strings. Zlib.
Parse date-time-string, liberally. Hides the difference between date-time formats, and enables to manage date and time as the one date-time format. [MIT][200].
A natural language date and time parse, to parse strings like "3 days from now". [BSD_3Clause][15].
Duration processing library built on top of local-time. [MIT][200].
Duration processing library built on top of local-time. [MIT][200].
Miscellaneous date routines in Common Lisp, based around the ISO 8601 string representation. [LLGPL][8].
a calendar time library implemented on top of the LOCAL-TIME library. It features zoned calendar times and calculations.
a calendar time library implemented on top of the LOCAL-TIME library. It features zoned calendar times and calculations.
manipulating date/time objects at a higher level. With series-compatible data structure. [BSD_3Clause][15].
a library for measuring time using (stop)clocks. It allows you to create a clock, pause it, resume it and change its speed. [Apache2.0][89].
Data validation
General purpose validation library for Common Lisp. [MIT][200].
A collection of utilities to ratify, validate and parse inputs. [zlib][33].
A library for validating data against schemas of drafts 4, 6, 7, and 2019-09 of the JSON Schema standard. [LLGPL][8].
a data serialization/contract library for Common Lisp. Schemas can be property lists or class-based, allowing to check slots' types during make-instance. [LLGPL][8].
Implementation of the Semantic Versioning Specification. [MIT][200]
Developer utilities
Ease common tasks at the REPL (print documentation, print external symbols, call hooks when loading a package,…). [BSD_2Clause][17].
a robust REPL history facility.
tracing profiler for Common Lisp, with output suitable for display in Chrome’s/Chromium’s Tracing Viewer. [MIT][200].
A wrapper around SBCL's statistical profiler, to generate FlameGraph charts for Common Lisp programs. [BSD][15].
Superior Common Lisp trace functionality for debugging/profiling. Trace many functions at once, use before and after hooks. [BSD_2Clause][17].
A batteries-included tracing and debug-logging macro. [Apache2][89].
a library for logging, tracing, record-and-replay testing and persistence. MIT.
An extended breakpoint facility for Common Lisp. [MIT][200].
Tiny benchmarking library. [zlib][33].
A library for cutting down the verboseness of Common Lisp in places. [GNU GPL3][2].
A portable wrapper to generate Lisp cores on demand to start REPL blazing fast. It can preload provided systems to help build a collection of specialized Lisp cores.
Documentation builders
a tool to generate documentation pages using an HTML template. Uses the existing README, adds docstrings, crossreferences and links to the CLHS. [zlib][33].
Exploratory programming environment and documentation generator. one may accomplish similar effects as with Literate Programming, but documentation is generated from code, not vice versa. Code is first, code must look pretty, documentation is code. [MIT][200].
Exploratory programming environment and documentation generator. one may accomplish similar effects as with Literate Programming, but documentation is generated from code, not vice versa. Code is first, code must look pretty, documentation is code. [MIT][200].
Extending Sphinx to cover Common Lisp. To build documentation with the same ease as sphinx would a Python project. [GPL3][2]
A beautiful documentation system for Common Lisp. [MIT][200].
generates HTML (or LaTeX) formatted code listings of Common Lisp source files. [BSD_3Clause][15].
Reference manual generator for Common Lisp libraries. Builds a texinfo document that can be further processed into various formats, such as HTML or PDF. BSD.
A compatible re-implementation of the BibTeX program in Common Lisp, with a BST-to-CL compiler. [GNU LGPL2.1][11].
Common Lisp documentation generator using Scribble files. [MIT][200].
Documentation lookup
Files and directories
A collection of utilities to help with pathname operations. [zlib][33].
deal with common problems with filesystems, such as listing files, probing file types, determining default directories, etc.
access to common file attributes (uid, gid, permissions, ctime, mtime, atime).
Modern and consistent filepath manipulation for Common Lisp. [LGPL3][9].
Portable mmap file memory mapping utility library. [zlib][33].
File persistence, watching, data synchronization, (per user profile) path resolution, and structured data retrieval. Has pre-defined classes for configuration files, remote fetched files, data files, Lisp-readable files and many others. [BSD][15].
Shell-style glob pattern matching and filesystem globbing for Common Lisp. MIT.
a cross-platform library for file change detection. [zlib][33].
Common Lisp's implementation of the Python's os.path module. [BSD][15].
Git
i18n
an i18n library. Load translations from GNU gettext text or binary files or from its native format. Localisation helpers of plural forms. [LLGPL][8].
a port of the gettext runtime to Common Lisp. [GPL3][2].
implementation of Fluent, a modern localisation system. MPL-2.0.
seamless language localization. LLGPL.
bindings for the Enchant spell-checker library. Public domain.
A client library for the Oxford dictionary API. [zlib][33].
A database library for ISO language codes. [zlib][33]
A library to retrieve the user's preferred language, so that your application may choose a sensible default. [zlib][33].
Allows writing docstrings in multiple languages, for truly internationally documented libraries. [zlib][33].
Linting, code formatting
a linter for Common Lisp source code using SBCL, suited for Reviewdog (slides). [BSD_2Clause][17].
A sensible Common Lisp linter that catches real mistakes, not style. MIT.
code formatter for Common Lisp. [MIT][200].
and cl-indentify.
Literate programming
Load Common Lisp code blocks from Emacs' Org files. [MIT][200].
Literate Programming System built with interactive development in mind. [MIT][200].
Papyrus makes your markdown executable with the reader macro of Common Lisp.[MIT][200]
Logging
JSON appender extension. [BSD][15].
A fast and highly configurable logging framework. [zlib][33].
Logging library providing context sensitive logging of more than just strings to more than just local files or output streams. Features logstash support, json support, logger hierarchies, context sensitive logging, objects printed as an inspectable presentation,…
A Common Lisp structured logger for Fluentd.
Package declarations
Project skeletons
General modern project skeletons. [LLGPL][8].
uses Sphinx and reStructured text to render nice and readable HTML documentation. [BSD][15].
Generate a ready-to-use Common Lisp project. Not in Quicklisp. [BSD_3Clause][15].
An opinionated cookiecutter template for Common Lisp videogame projects. Allows to choose backend middleware library between liballegro, raylib and SDL2. Contains CI scripts using docker-lisp-gamedev to automatically build binaries for Windows, MacOS and Linux.
Security
A restricted environment for Common Lisp code evaluation [AGPL-3.0][agpl3].
a variant of READ secure against internbombing, excessive input and macro characters. [BSD_2Clause][17].
A Common Lisp library to reduce the risk of accidentally revealing secret values such as passwords.
an output stream that masks secret strings with , based on secret-values. MIT.
System interface
Other
A charset encoding/decoding library. [Expat][14].
Fast octet-vector/stream I/O. [3-clause BSD][15].
Provides a readtable namespace, akin to package namespaces. [3-clause BSD][15].
A currency conversion library using daily information published by the ECB. [FreeBSD][39].
A portable finalizer, weak hash-table and weak pointer API. Public domain.