curated-awesome-cl

Lisp toolkit

A curated list of Common Lisp libraries and resources, focusing on beginner-friendly tools.

A curated and non exhaustive list of Common Lisp libraries and resources.

GitHub

35 stars
6 watching
2 forks
last commit: over 2 years ago
Linked from 1 awesome list


Community

Common Lisp Cookbook
Reddit
Quickdocs Ready and up to date documentation for all Common Lisp projects

Text Editor Resources / Emacs

Portacle A portable and multiplatform Common Lisp environment: SBCL, Quicklisp, Emacs, Slime, Git
SLIME 1,918 3 days ago Superior Lisp Interaction Mode for Emacs; a full-blown environment for Common Lisp inside of Emacs. Public domain

Text Editor Resources / Vim

SLIMV 456 3 days ago Superior Lisp Interaction Mode for Vim; a full-blown environment for Common Lisp inside of Vim. No license specified

Text Editor Resources / Atom

SLIMA 62 over 1 year ago allows you to interactively develop Common Lisp code, helping turn Atom into a full-featured Lisp IDE.

Text Editor Resources / VSCode

alive 211 2 months ago Common Lisp Extension for VSCode. Public domain

Text Editor Resources / VSCode / alive

using VSCode with Alive see the Cookbook:

Text Editor Resources / Notebooks

cl-jupyter 199 about 5 years ago A Common Lisp kernel for Jupyter notebooks

Text Editor Resources / REPLs

cl-repl 153 over 3 years ago an ipython-like REPL. With completion, shell commands, magic commands, debugger, etc. . With
sbcli 95 6 months ago a simple readline REPL that doesn't get in your way. It doesn't have a debugger, it just prints the error. With optional syntax highlighting and useful shortcuts

Implementations

SBCL A fork of CMUCL; compiles to machine code. . Public domain, with some parts under and
Clozure Common Lisp , for its fast compilation time, and to use on 32bits Raspberry Pi

Build Systems

ASDF it's the de-facto build system shipped with the implementations

Library Manager

Quicklisp library manager
Ultralisp A quicklisp distribution that builds every five minutes (instead of one month for Quicklisp), and requires 3 clicks to add your project to it (instead of opening an issue and waiting for Quicklisp)
Roswell 1,797 29 days ago A Lisp implementation installer, script launcher and more
qlot 473 25 days ago A project-local library installer, similar to Bundler or Carton

Tools

cl-cookieproject 77 3 months ago my project skeleton, more complete than the others
quicksearch 50 over 10 years ago Look up online libraries from the REPL.

Web / HTTP clients

Dexador 379 3 months ago An HTTP client:

Web / Web frameworks

https://common-lisp-libraries.readthedocs.io/hunchentoot/ Hunchentoot documentation on a "read the docs" style:
easy-routes 58 28 days ago 👍 - 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
Caveman 784 7 months ago A powerful web framework
Wookie 190 almost 2 years ago Asynchronous HTTP server.
Snooze 210 6 months ago A RESTful web framework, built on Clack, where routes are just functions and HTTP conditions are just Lisp conditions.
radiance 326 about 1 month ago An extensible framework library and multi-application CMS
cl-rest-server 67 over 1 year ago a library for writing REST web APIs. Features validation with schemas, annotations for logging, caching, permissions or authentication, documentation via Swagger, etc.
Weblocks 80 9 months ago A widgets-based framework with a built-in ajax update mechanism that "solves the JavaScript problem".

Web / HTTP Servers

Hunchentoot the CL web server
Clack 1,058 about 2 months ago A web application environment inspired by Rack and WSGI
wookie 190 almost 2 years ago Asynchronous HTTP server.
woo 1,291 3 months ago A fast non-blocking HTTP server on top of libev.
clack-errors 27 over 5 years ago Error page middleware for Clack.
hermetic 43 over 5 years ago Security for Clack-based web applications.

Web / Parsing html

Plump 120 7 months ago A lenient HTTP/XML parser, tolerand on malformed markup. . Best used with and

Web / Querying HTML/DOM

lquery 87 over 1 year ago A jQuery-like HTML/DOM manipulation library.

Web / HTML generators and templates

Djula 153 3 days ago A port of Django's template engine to Common Lisp
Ten 34 5 months ago by Djula's maintainer, a more flexible framework, where we can write lisp expressions in templates
spinneret 371 5 days ago Common Lisp HTML5 generator
cl-markup 65 over 3 years ago Modern markup generation library.

Web / URI handling

quri 112 4 months ago Another URI library for Common Lisp. Supports userinfo, IPv6 hostname, encoding/decoding utilities,…
cl-slug 25 over 7 years ago a small library to make slugs, mainly for URIs, transform in CamelCase, remove accentuation and punctuation, for english and beyound

Web / Javascript

Parenscript 245 almost 6 years ago A translator from Common Lisp to Javascript.
parse-js A package for parsing ECMAScript 3.
JSCL 888 8 months ago A CL-to-JS compiler designed to be self-hosting from day one. Lacks CLOS, format and loop
sigil 26 over 7 years ago A Parenscript to Javascript command line compiler and REPL.
JACL
Valtan 243 7 months ago

Web / Third-party APIs

Aws-sign4 18 11 months ago Common Lisp library for Amazon Web Services signing version 4.
north 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.
avatar-api 9 over 9 years ago Get avatars from Google+, Gravatar and others.
chirp 68 over 1 year ago A Twitter client library.
cl-irc An IRC client library.
cl-openid An implementation of OpenID.
cl-pushover 2 over 8 years ago Common Lisp bindings to Pushover.
cl-ses 15 over 6 years ago Library for AWS SES.
humbler 11 over 1 year ago A Tumblr API interface.

XML

CXML XML parser, with a range of extension libraries.
Plump 120 7 months ago A lenient HTTP/XML parser, tolerand on malformed markup. . Best used with and
s-xml A basic parser.
xmls A small, simple, non-validating XML parser.

JSON

jonathan 164 7 months ago A JSON encoder and decoder.

CSV

cl-csv 116 11 months ago A library for parsing CSV files

Database and ORMs

mito 296 about 1 month ago An ORM for Common Lisp with migrations, schema versioning, relationships, PostgreSQL support
postmodern A library for interacting with PostgreSQL

Interaction with other languages / Python

py4cl 235 about 1 year ago A library that allows Common Lisp code to access Python libraries. It is basically the inverse of cl4py.
cl4py 98 1 day ago The library cl4py (pronounce as clappy) allows Python programs to call Common Lisp libraries.

Graphics

cl-cairo2 62 over 7 years ago Cairo bindings
cl-gd A library providing an interface to the GD graphics library.
cl-opengl 280 4 months ago CFFI bindings to OpenGL, GLU and GLUT APIs.
cl-sdl2 309 4 months ago Bindings for SDL2 using C2FFI.
cl-svg A basic library for producing SVG files.
FreeBSD [CLinch][63] - Common Lisp 2D/3D graphics engine for OpenGL.
donuts 26 over 1 year ago Graph drawing DSL for Common Lisp.
lispbuilder-sdl 192 over 3 years ago A set of bindings for SDL.
Vecto Simple vector drawing library.
zpng A library for creating PNG files.

GUI

ltk A binding for the Tk toolkit. or
nodgui Bindings for the Tk toolkit, based on Ltk, with syntax sugar and additional widgets
IUP 138 almost 2 years ago CFFI bindings to the Portable User Interface library (pre-ALPHA). IUP is cross-platform (Windows, macOS, GNU/Linux, with new Android, iOs, Cocoa and Web Assembly drivers), has many widgets, has a small api and is actively developed
Qtools 210 almost 2 years ago A Qt4 toolkit, based on CommonQt
ceramic Desktop web apps with Common Lisp.

GUI / ceramic

Electron-lisp-boilerplate 10 almost 2 years ago A rudimentary boilerplate for building Electron apps with embedded Lisp helper processes
electron-sbcl-sqlite 29 almost 4 years ago Electron app skeleton:

GUI

LispWork's CAPI A portable GUI toolkit, with mobile runtime. Proprietary, but comes with a free version

Numerical and Scientific

cl-spark 96 over 9 years ago Generates sparkline strings for lists of numbers.
GSLL GNU Scientific Library for Lisp; allows the use of the GSL from Common Lisp.
lisp-stat an environment for statistical computing, conceptually similar to R, that is also suitable for front-line production deployments. "It grew out of a desire to have an environment for rapidly prototyping analytical and A.I. solutions, and move directly to production environments with minimal friction."

Numerical and Scientific / lisp-stat

https://lisp-stat.dev/
XLisp-Stat ships Luke Tierney's (a predecessor of R) as well as newer libraries

Numerical and Scientific

common-lisp-stat 170 about 5 years ago Common Lisp statistics library.
lisp-matrix 71 about 7 years ago A matrix package.
maxima Computer algebra system. Not available on Quicklisp.

Parallelism and Concurrency

BordeauxThreads Portable, shared-state concurrency.
lparallel 246 about 2 years ago A library for parallel programming.
lfarm 106 over 9 years ago distributing work across machines (on top of lparallel and usocket)
cl-async 276 about 1 month ago A library for general-purpose, non-blocking programming, built on (the library that powers Nodejs).
chanl 169 16 days ago Portable, channel-based concurrency. , with parts under
Moira 29 about 1 year ago Monitor and restart background threads. In-lisp process supervisor.
trivial-monitored-thread - a Common Lisp library offering a way of spawning threads and being informed when one any of them crash and die.
cl-gearman 22 about 3 years ago a library for the distributed job system.
swank-crew 43 10 months ago distributed computation framework implemented using Swank Client.
cl-coroutine 65 about 8 years ago a coroutine library. It uses the CL-CONT continuations library in its implementation.
STMX 244 10 months ago High performance Transactional Memory for Common Lisp.

Parallelism and Concurrency / Actors pattern

cl-gserver 200 15 days ago an Erlang inspired GenServer. It is meant to encapsulate state, but also to execute async operations. Also with actors. Functionality regarding state is not unsimilar to Clojure's Agent or cl-actors.

Parallelism and Concurrency / Event processing

simple-tasks 20 over 1 year ago A very simple task scheduling framework.
deeds 23 over 1 year ago Deeds is an Extensible Event Delivery System. It allows for efficient event delivery to multiple handlers with a complex event filtering system.
cl-flow 50 about 3 years ago Data-flowish computation tree library for non-blocking concurrent Common Lisp.
event-glue 20 over 9 years ago simple eventing abstraction. No dependencies. It can be used anywhere you need a generic event handling system.

Parallelism and Concurrency / Job processing

SBCL's timers , system-wide event schedulers
cl-cron 16 about 1 year ago A simple tool that provides cron like facilities
clerk 18 about 3 years ago a cron-like scheduler with sane DSL.

Regex

cl-ppcre Portable, Perl-compatible regular expressions.
one-more-re-nightmare 141 2 months ago a fast-ish regular expression compiler in Common Lisp.

Unit Testing

FiveAM 187 3 months ago Simple regression testing framework
Mockingbird 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.
Check-it 51 over 4 years ago A QuickCheck-style randomized property-based testing.
cl-coveralls 29 23 days ago a helper library to post test coverage to Coveralls. See and .

Continuous Integration

a tutorial 1,797 29 days ago Travis CI: we can use Roswell on Travis CI: see (cl-travis doesn't work with Travi's Docker based architecture)
cl-coveralls 29 23 days ago
https://lispcookbook.github.io/cl-cookbook/testing.html#gitlab-ci Gitlab CI:

Utilities / Language extensions

alexandria A general-purpose utility library
serapeum 438 19 days ago Another general-purpose utility library
rutils 252 8 months ago radical yet reasonable syntactic utilities for Common Lisp
trivia 336 4 months ago Optimized pattern-matching library.
generic-cl 143 about 1 month ago Generic function interface to standard Common Lisp functions (equality, comparison, arithmetic, objects, iterator, sequences,…). . See also the more lightweight .
FSet A functional, set-theoretic collections data structure library.
trivial-types 66 over 6 years ago Trivial type definitions.
cl-algebraic-data-type A library for defining algebraic data types in a similar spirit to Haskell or ML.

Utilities / Changing the syntax

pythonic-string-reader 19 over 6 years ago A simple and unobtrusive read table modification inspired by Python's three quote strings.
cl-reader 13 almost 2 years ago A utility library intended at providing reader macros for lambdas, mapping, accessors, hash-tables and hash-sets.

Utilities / Iteration

iterate An iteration construct for Common Lisp which is extensible and Lispier.

Utilities / Iteration / iterate

https://lispcookbook.github.io/cl-cookbook/iteration.html

Utilities / Iteration

for A concise, lispy and extensible iteration macro. Unlike loop it is extensible and sensible, and unlike iterate it does not require code-walking and is easier to extend
trivial-do 18 almost 3 years ago Additional dolist style macros for Common Lisp.
doplus – another extensible iteration library, similar to :for
picl 17 5 months ago An (almost) complete port of Python's itertools package, complete with laziness where applicable, and not relying on cl-cont.
gtwiwtg A lazy sequences library. Similar to 'series' but not as complete. However it has a 'modern' API with stuff like , , , , etc. that is easy to use

Utilities / Lambda shorthands

fn 25 8 months ago a couple of lambda shorthand macros. . Public domain
f-underscore a tiny library of functional programming utils. . Public domain
cl-punch 24 about 1 year ago Scala-like anonymous lambda literals. .

Utilities / I/O

iolib 141 6 months ago I/O library.
fast-io 147 over 2 years ago Fast octet-vector/stream I/O.
trivial-utf8 A small library for doing UTF-8-based I/O. Not available on Quicklisp. No license specified

Utilities / Data validation

ratify 29 over 1 year ago A collection of utilities to ratify, validate and parse inputs.
clavier 19 10 months ago General purpose validation library for Common Lisp.
json-schema 17 6 months ago A library for validating data against schemas of drafts 4, 6, 7, and 2019-09 of the standard.
sanity-clause 51 over 3 years ago a data serialization/contract library for Common Lisp. Schemas can be property lists or class-based, allowing to check slots' types during .

Utilities / Date and time

localtime A development library for manipulating date and time information in a semi-standard manner.
cl-date-time-parser 18 over 10 years ago 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.
chronicity 67 almost 6 years ago A natural language date and time parse, to parse strings like "3 days from now".
local-time-duration 17 over 5 years ago - Duration processing library built on top of local-time.
iso-8601-date Miscellaneous date routines in Common Lisp, based around the ISO 8601 string representation.
calendar-date 8 about 4 years ago a Gregorian calendar date library.
periods 30 about 1 year ago manipulating date/time objects at a higher level. With series-compatible data structure.

Utilities / Logging

log4cl 103 about 7 years ago Logging framework modelled after Log4J

Crypto

Ironclad A library of crypto functions for Common Lisp. Not considered secure, but is still useful for the message digest functions.
crypto-shortcuts 25 15 days ago Collection of common crypto shortcuts.

Learning and Tutorials

Common Lisp programming: from novice to effective developer 📹 ⭐
How to create a full-featured Common Lisp project from scratch
Web requests in Common Lisp: how to fetch the Github API

Learning and Tutorials / Beginner

Learn X in Y minutes | Where X = Common Lisp Small Common Lisp tutorial covering the essentials
Practical Common Lisp A good introductory text to Common Lisp, with practical examples
Common LISP: A Gentle Introduction to Symbolic Computation A nice introduction into the language
Learn LISP: Simply Easy Learning A good set of introductory tutorials; includes interactive examples
Common Lisp Koans 3,134 over 1 year ago The project guides the learner progressively through many Common Lisp language features

Learning and Tutorials / Intermediate

CL Cookbook
Common Lisp tips 122 over 5 years ago A collaborative resource with useful tips and tricks
Common Lisp programming: from novice to effective developer 📹 , a video course tutorial on the Udemy platform, by me (@vindarel) (CL Cookbook, lisp-journey) ( , some free videos)

Learning and Tutorials / Advanced

Let Over Lambda A book on advanced macro techniques. The first six chapters are available online
On Lisp Paul Graham's amazing book on Lisp macros (and other interesting things)

Learning and Tutorials / Reference

Common Lisp Quick Reference A distilled, pocket-size version of the ANSI CL spec. Available for download as a PDF
CLHS The Common Lisp HyperSpec; the ANSI CL standard, in hypertext form
Common Lisp the Langauge The original standard for Common Lisp before the ANSI spec
Minispec A friendlier, but less-complete, version of CLHS. Also contains documentation for some commonly-used CL libraries (such as Alexandria)
Quickdocs A reference for the libraries provided by Quicklisp

Learning and Tutorials / Beginner

Land of Lisp A fun, game-oriented introduction to Common Lisp
Practical Common Lisp A good introductory text to Common Lisp, with practical examples
Common Lisp Koans 3,134 over 1 year ago The project guides the learner progressively through many Common Lisp language features

Learning and Tutorials / Intermediate

ANSI Common Lisp A thorough, practical covering of the entire language, with exercises. Not recommended as a starter text, due to

Learning and Tutorials / Advanced

Let Over Lambda A book on advanced macro techniques. All eight chapters are available in the print copy
Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS An old, but very thorough book on CLOS
Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp A book on programming AI that covers some advanced Lisp

Backlinks from these awesome lists:

More related projects: