CodyReichert

Awesome Common Lisp

A curated list of awesome Common Lisp frameworks, libraries and other shiny stuff.
Under Other
By CodyReichert

awesome common-lisp lisp libraries quicklisp common-lisp-tools




Awesome Common Lisp

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 :star: 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++

Crypto

Cryptocurrencies

See also legochain, a simple educational blockchain.


Database

ORMs

Persistent object databases

Graph databases

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.



See also this demo to use Java Swing from ABCL.


Implementations

Proprietary:



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:



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


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

See also
trident-mode, an Emacs
minor mode for live Parenscript interaction.


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

Documentation builders

Files and directories

File watching libraries:



Git

i18n

Linting, code formatting

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

Other

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



XML

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: