Current recommended libraries
Cliki contributors (that's you!) believe that the libraries on this page are considered "good enough for government use", and serve as a starting point when looking for a library covering a given field.

If you feel that a certain library should be written then please add it to Suggested Programming Projects or write it yourself.

A clean and up-to-date, yet rather subjective listing of recommended libraries can be found here (2015), it saw an update there (2020), and another list is maintained on Github on awesome-cl. To search for libraries across Quicklisp, Cliki, GitHub and BitBucket, there exists the Quicksearch library.

Library management / installation / Handling Packages

  • Quicklisp - A popular way of obtaining lisp libraries
  • asdf - System definition, aka Makefiles(in some implementation like sbcl, this is already installed by default)
  • Qlot is a project-local library installer using Quicklisp facility. This aims to be like Bundler of Ruby or Carton of Perl.
  • Roswell is a Lisp implementation installer/manager, library installer, script launcher, and much more !
  • CLPM is a relatively new package manager for Common Lisp. It works as well for system-wide or directory-local packages. It supports HTTPS and allows explicitely versioned dependencies.

Web development

See also Quickdocs.

Frameworks and development tools:

  • Caveman - a lightweight, server independant, fully extensible web framework with database integration.
  • CLOG - A JS over WebSockets based framework
  • CL-Weblocks - a continuations based framework
  • ningle - a very lightweight web application framework using Clack
HTTP server:
  • Clack - a wrapper API for HTTP requests/responses with multiple webserver backends. Inspired by Python's WSGI and Ruby's Rack
  • Hunchentoot - the de-facto standard HTTP web server
  • Woo - a fast libev-based async web server with worker thread support
  • Wookie - an async application/web server
HTTP client: HTML parser:
  • Plump - a markup parser, tolerant on malformed HTML. It can be queried with Lquery or Clss.
Utilities: SQL database connectivity: Internationalization (i18) and localization (l10n):
  • Character encoding/decoding: flexi-streams - focus on features
  • Character encoding/decoding: babel - focus on speed
  • Character categories, etc: cl-unicode
  • Localization (number formats, etc): cl-l10n

APIs to websites

  • Chirp A full Twitter API library
  • Humbler Easy Tumblr interaction

Game development

  • xelf - Formerly known as blocky. "Xelf extends Common Lisp with an Emacs-inspired 2D OpenGL game engine, a game project editor interface, and an integrated command shell" - http://www.xelf.me

General purpose utility libraries and commonly used libraries

  • alexandria — Collection of portable general purpose utilities. Used by a large number of other projects.
  • serapeum — A supplement to Alexandria, also conservative but less so.
  • iterate — A lispy and extensible replacement for the LOOP macro.
  • closer-mop — A popular compatibility library allowing portable access to the MOP across implementations.
  • Regular expressions: cl-ppcre — Popular and fast regular expressions engine.
  • Pattern Matching: trivia — ML-style pattern matcher.
  • Collections:
    • lisp-interface-library is a collection of pure and stateful data structures in interface-passing style
    • FSet is a functional set-theoretic collections package
  • Mathematics:
    • GSLL is an interface to the GNU Scientific Library
    • Maxima is a computer algebra system
    • RCL is a interface to R
  • Compression:
    • Salza2 is a Common Lisp library for creating compressed data in the ZLIB, DEFLATE, or GZIP data formats, described in RFC 1950, RFC 1951, and RFC 1952, respectively. It does not use any external libraries for compression. It does not yet support decompression.
    • Chipz is a decompression library for decompressing DEFLATE (RFC 1951) data such as ZLIB (RFC 1950), GZIP (RFC 1952), as well as bzip2.

Common data formats

XML:
  • CXML namespace, validating, SAX, StAX, W3C DOM, XPath 1.0, XSLT 1.0
  • S-XML simple XML parser
  • XMLS simple XML parser
JSON (see Difference between JSON libraries):
  • cl-json : A CLOS-extensible JSON parser and generator.
  • yason: Another extensible JSON parse and generator.
CSV
  • CL-CSV : a library to parse and write csv (comma-separated-values) files.
id3v2

The book Practical Common Lisp implements an id3v2 parser, the source code can be found at its website

System and low level management

Project managements

Logging:

  • Log4CL is high performance extensible logging library for Common Lisp
Unit Testing:

Graphics libraries

Graphical User Interface:

Graphical drawing library:

Audio

  • mixalot. Mixalot currently consists of a mixer component providing straightforward audio output on Linux (via ALSA) and other platforms (using libao), a CFFI binding to the libmpg123 library, and a helper component allowing playback of MP3 files through the mixer.

Encryption

  • Ironclad : A native Common Lisp package with support for several ciphers and hash functions

PRNG

  • MT19937 : a portable Mersenne Twister pseudo-random number generator. Has its own *random-state* and supports seeding from any integer.

Parallel, concurrent and async programming

  • lparallel : A Common Lisp library for parallel programming
  • chanl : ChanL is a concurrency library built on top of bordeaux-threads that provides channels as thread-synchronisation primitives
  • cl-async : cl-async implements a higher-level interface for non-blocking, asynchronous programming in Common Lisp