Skip to the content.

Awesome Common Lisp Awesome Assertible status

A curated list of awesome Common Lisp libraries.

For awesome software, see lisp-lang.org’s success stories and the awesome-cl-software list.

All libraries listed here are available from Quicklisp unless stated otherwise. The ones marked with a ⭐ are so widespread and solid that they became community standards. You can’t be wrong with them. This is the case for Quicklisp, BordeauxThreads and such. Libraries denoted with a 👍 are the ones we like and want to promote here at the Awesome-cl list. They proved solid, they may solve a problem better than a community standard but they aren’t as widespread, or not considered as stable. For example, we prefer Spinneret over Cl-Who.

Add something new! See the contributing section for adding something to the list.

This is released under the GNU Free Documentation License - its text is provided in the LICENSE file. This repository is also mirrored on NotABug - a fully-free (as in libre) alternative to Github. Preference is given to free software and sellers who aren’t evil for physical resources.

Table of Contents

Audio

Build Systems

Compilers, code generators

APL

C, C++

Cryptography

Cryptocurrencies

See also legochain, a simple educational blockchain.

Database

ORMs

Persistent object databases

See also Clache, that can save any object on disk.

Graph databases

and also:

Wrappers

Migration tools

To third parties

Tools

Data Structures

Accessing data structures:

Other data structures:

Docker images

Foreign Function Interface, languages interop

C

Clojure

Erlang

Java

Objective-C

Python

See also async-process.

.Net Core

Miscellaneous

Game Development

Graphics

These are libraries for working with graphics, rather than making GUIs (i.e. widget toolkits), which have their own section.

GUI

For an overview and a tutorial on GUI toolkits, see the Cookbook/GUI.

But that’s not all:

Other utilities:

See also this demo to use Java Swing from ABCL.

Mobile

See also MOCL below, CL as a library for mobile devices (iOS, Android and OSX).

Implementations

Proprietary:

See also:

JSON

See also this extensive comparison of JSON libraries.

YAML

Language extensions

Portability layers

A large list of portability layers is collected here. Here are some of them:

Changing the syntax

CLOS extensions

And also:

Function extensions

See also hooks in Serapeum.

Iteration

Lambda shorthands

See also CL21 and Rutils.

Non-deterministic, logic programming

Reactive programming

Contract programming

Typing

Learning and Tutorials

Online

Beginner

Intermediate

Advanced

Web Development

Reference

Offline

The CLHS is available offline via an archive and as doc sets in Dash, Zeal and Velocity.

Beginner

Intermediate

Advanced

Other books

Community

Library Manager

might help:

Interfaces to other package managers

See also asdf-sbcl, a plugin for the universal package manager.

Machine Learning

Credit: borretti.me’ state of CL ecosystem 2015.

Natural Language Processing

Network and Internet

See Cliki for more.

HTTP clients

HTTP Servers

Hunchentoot plugins

Clack plugins

Web frameworks

REST-focused frameworks:

Authentication plugins (in addition to the Clack plugins above):

There are more projects, more or less discontinued but interesting. See the other resources.

Isomorphic web frameworks

Assets management

Parsing html

Querying HTML/DOM

See also the XML section below for xpath libraries and more.

HTML generators and templates

URI handling

Javascript

Utilities for React:

See also:

Email

Websockets

See more on cliki.

Static site generators

Deployment

See also:

Monitoring

Third-party APIs

Web project skeletons and generators

Others

Numerical and Scientific

Matrix libraries

Statistics

Units

Utils

Parallelism and Concurrency

See also:

Actors pattern

Event processing

Job processing

Regex

Scripting

Writing, running scripts

Command-line options parsers

Readline, ncurses and other graphical helpers

Shells, shells interfaces

System administration

Other scripting utilities

Text Editor Resources

This contains plugins and other goodies for various text editors.

Emacs

Vim & Neovim

Eclipse

Lem

Atom

Sublime Text

VSCode

Geany (experimental)

Notebooks

REPLs

Online editors

Apps

Text Parsers

Text Processing

Tools

These are applications or bits of code that make development in Common Lisp easier without being Common Lisp libraries themselves.

Unit Testing

Editor utilities:

Utilities

Caching

Compression / decompression

Configuration

CSV

Date and time

See also the book Calendrical calculations, by Edward M. Reingold, Nachum Dershowitz, Cambridge Press. It provides Lisp sources.

Data validation

Developer utilities

and also:

Documentation builders

See also:

An overview blog post with even more documentation generators: https://lisp-journey.gitlab.io/blog/overview-of-documentation-generators/

You might also like: literate programming systems.

Files and directories

File watching libraries:

Git

i18n

Linting, code formatting

and also: lisp-format and cl-indentify.

Literate programming

Logging

To third parties:

See also: extensive comparison of logging libraries.

Markdown

PDF

Plotting

See also the chart facilities of IUP and ltk-plotchart (GUI section).

Project skeletons

Security

XML

Other

This contains anything which doesn’t fit into another category.

Contributing

Your contributions are always welcome! Please submit a pull request or create an issue to add a new framework, library or software to the list.

The rules we (try to) respect are the followings: