Track Awesome Cl Updates Weekly
A curated list of awesome Common Lisp frameworks, libraries and other shiny stuff.
🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 CodyReichert/awesome-cl · ⭐ 2.6K · 🏷️ Programming Languages
Nov 11 - Nov 17, 2024
Mobile
- sbcl-termux-build (⭐39) - Prebuilt SBCL binary for Android (Termux).
HTTP Servers / Clack plugins
- clack-cors - A Clack middleware to set CORS related HTTP headers. — Unlicense.
- clack-promotheus - Clack middleware to serve stats in Prometheus format. Unlicense.
HTML generators and templates / Isomorphic web frameworks
Oct 28 - Nov 03, 2024
Tools
- Pretty printing tree data structures in Common Lisp (as a Jupyter notebook)
Others / Web project skeletons and generators
- mobiledetect (⭐3) - System for detecting mobile devices (including tablets) in User-Agent strings. MIT.
- random-ua (⭐3) - Random User-Agent generator for Common Lisp. BSD_2Clause.
Oct 14 - Oct 20, 2024
Non-deterministic, logic programming
- AP5 - allows users to program in a model of first order logic or a relational database. 1989, updated 2024. Public domain.
Advanced
HTTP Servers / Hunchentoot plugins
- hunchentoot-stuck-connection-monitor (⭐1) - 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.
URI and IP handling / Isomorphic web frameworks
- netaddr (⭐5) - A network address manipulation library for Common Lisp. MIT.
- for manipulating IP addresses, subnets, ranges, and sets. It is inspired by its namesake library in Python, netaddr.
Sep 23 - Sep 29, 2024
Mobile
- nyaml (⭐26) - A lisp native YAML parser. MIT.
CLOS extensions
- defclass-std (⭐9) - a shortcut macro to write DEFCLASS and PRINT-OBJECT forms quickly. LLGPL.
HTTP Servers / Clack plugins
- lack-expression-cache (⭐3) - lack middleware for compressing and caching static resources. MIT.
- lack-rerouter (⭐2) - lack middleware to reroute URIs of requests. MIT.
Others / Third-party APIs
- stripe (⭐4) - a client for the Stripe payment system. MIT.
Sep 16 - Sep 22, 2024
Developer utilities / Third-party APIs
- brake (⭐11) - An extended breakpoint facility for Common Lisp. MIT.
Sep 09 - Sep 15, 2024
Running scripts / Third-party APIs
- CIEL (⭐346) - 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
- NEW in 2024 kiln (⭐43) - an infrastructure (managing a hidden multicall binary) to make Lisp scripting efficient and ergonomic. MIT.
- 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.
Other scripting utilities / Third-party APIs
- lqn (⭐34) - query language and terminal utility for querying and transforming Lisp, JSON and other text files. written in Common Lisp. MIT.
Sep 02 - Sep 08, 2024
Others / Web project skeletons and generators
- dns-client (⭐16) - DNS record client. See documentation. zlib.
Aug 26 - Sep 01, 2024
Tools
- cl-permutation (⭐49) - Permutations and permutation groups in Common Lisp. BSD_3Clause.
Miscellaneous
- imago (⭐51) - image manipulation library for Common Lisp.
- supports images in png, pcx, portable bitmap (.pnm), Truevision TGA (.tga) and jpeg formats
- allows for: resizing, rotation, emboss effect, inverting colors, adjusting contrast, manipulating color elements, composing pictures, drawing simple primitives…
- is integrated with common-lisp-jupyter.
Date and time / Third-party APIs
- calendar-times (⭐9) - a calendar time library implemented on top of the LOCAL-TIME library. It features zoned calendar times and calculations.
- see also: calendar-date (⭐8) - a Gregorian calendar date library. MIT.
Security / Third-party APIs
- secret-values (⭐11) - A Common Lisp library to reduce the risk of accidentally revealing secret values such as passwords.
- privacy-output-stream (⭐4) - an output stream that masks secret strings with
****
, based on secret-values. MIT.
- privacy-output-stream (⭐4) - an output stream that masks secret strings with
Aug 19 - Aug 25, 2024
Parsing html / Isomorphic web frameworks
- cl-html5-parser (⭐55) - HTML5 parser for Common Lisp. GPL3.0.
- a port of the Python library html5lib.
- compared to Plump: Plump is a mix of an XML and an HTML parser and breaks on some HTML rules (example (⭐120)), while cl-html5-parser is a fully compliant HTML parser.
Jul 29 - Aug 04, 2024
Emacs / Third-party APIs
- Quicksearch (⭐4) - search for projects on GitHub, Quicklisp, Cliki and Bitbucket. MIT.
Jul 08 - Jul 14, 2024
Intermediate
- A gentle introduction to Compile-Time Computing - Part 1, Part 2, Part 3 (Safely dealing with scientific units of variables at compile time)
Jul 01 - Jul 07, 2024
Tools
- cl-hash-util (⭐29) - Hash-table creation, access, and manipulation utilities. MIT.
Clojure
- clj-arrows (⭐10) - Clojure-compatible threading/transformation/arrow macros for Common Lisp.
- with-redefs (⭐1) - enables rebinding of global functions, inspired by Clojure's with-redefs.
Miscellaneous
- pngload-fast (⭐1) - A PNG (Portable Network Graphics) image format decoder in portable Common Lisp with an emphasis on speed. MIT.
Beginner
- Loving Common Lisp, or the Savvy Programmer's Secret Weapon - Quick introduction to Common Lisp with many examples. A particular focus is on how to use Large Language Models (LLMs).
Others / Web project skeletons and generators
- cl-cookie (⭐18) HTTP Cookie (jar) manager: parse and write (set-)cookie headers, compare cookies, optional cookie attribute sanity check. MIT
Job processing / Third-party APIs
- rexxparse (⭐11) - A string parsing tool inspired by the REXX PARSE construct. MIT.
Apps / Third-party APIs
- cl-hamcrest (⭐18) - 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.
Apr 22 - Apr 28, 2024
C, C++
- bitcoin-core-rpc - a (hopefully) complete Bitcoin Core RPC client. AGPL-3.0+
Advanced
- sbcl-wiki (⭐55) - an open wiki to document SBCL's internals.
Lem / Third-party APIs
- 🚀 Lem on the cloud (video presentation)
- "Rooms is a product that runs Lem, a text editor created in Common Lisp, in the Cloud and can be used by multiple users."
- NEW as of April, 2024.
Apr 15 - Apr 21, 2024
Deployment / Isomorphic web frameworks
- make-common-lisp-program (⭐3) - GitHub action to build an executable Common Lisp program on Ubuntu, MacOS and Windows. MIT.
Date and time / Third-party APIs
- fuzzy-dates (⭐15) - A library to fuzzily parse date and time strings. Zlib.
Apr 08 - Apr 14, 2024
CLOS extensions
- ⭐ closer-mop (⭐150) - A compatibility layer that rectifies many absent or incorrect MOP features. Expat.
Apr 01 - Apr 07, 2024
Tools
- nonempty (⭐3) - Non-empty collections for Common Lisp. LGPL3.
Miscellaneous
- nodgui - Bindings for the Tk toolkit, based on Ltk, with syntax sugar and additional widgets. LLGPL.
- 🎨 supports tk custom themes, such as ttkthemes and Forest-ttk-theme (⭐369).
- supports an SDL frame as an alternative to the Tk canvas when fast rendering is needed. For 2D (pixel-based) and 3D rendering (using openGL).
Typing
- algebraic-data-types (⭐136) - defining algebraic data types in a similar spirit to Haskell or Standard ML, as well as for operating on them. BSD_3Clause.
Community
- trivial-system-loader (⭐12) - A system installation/loading abstraction for Common Lisp.
- play nice with people using another library manager than Quicklisp: instead of hard-coding
(ql:quickload :mysystem)
, use(tsl:load-system :mysystem)
. tsl:load-system will first try to use ocicl if available, then quicklisp, then plain asdf:load-system.
- play nice with people using another library manager than Quicklisp: instead of hard-coding
Community / Interfaces to other package managers
- cl-nix-lite (⭐30) - Common Lisp module for Nix, without Quicklisp. AGPL-3.0
Querying HTML/DOM, web scraping / Isomorphic web frameworks
- scrapycl - web scraping framework for writing crawlers in Common Lisp. Unlicense.
- relying on lquery.
Deployment / Isomorphic web frameworks
- 40ants/ci (⭐12) - Highly opionated Github Actions workflow builder for Common Lisp projects.
- with: a linter, lisp critic, tests runner, test matrix, doc building, caching…
Others / Third-party APIs
- shop3 (⭐146) - a Hierarchical Task Network (HTN) AI planner. Mozilla Public License.
Emacs / Third-party APIs
- plain-common-lisp (⭐19) - A trivial way to get a native Common Lisp environment on Windows.
- ships SBCL, Quicklisp, Emacs and Slime.
- with example programs for a console program, accessing the Win32 API, displaying a GUI with IUP, running an OpenGL window.
Apps / Third-party APIs
- alexa (⭐60) - A Lexical Analyzer Generator. BSD_3Clause.
- ALEXA is a tool similar to lex or flex for generating lexical analyzers. Unlike tools like lex, however, ALEXA defines a domain-specific language within your Lisp program, so you don't need to invoke a separate tool.
- uclp (⭐21) - An experimental implementation of parsing expression grammars (PEGs, a la Janet) in Common Lisp. MIT.
- CheckL (⭐43) - Why write programs in Common Lisp but tests like Java? Meet CheckL!
- a testing library that checks the current test value against the previous one and offers restarts.
Plotting / Third-party APIs
- cl-text-plot (⭐9) - Plot with text in Common Lisp. No licence specified.
XML / Third-party APIs
- lisp-xl (⭐29) - Common Lisp Microsoft XLSX (Microsoft Excel) loader for arbitrarily-sized / big-size files. MIT.
- xlsx - a basic reader for Excel files.
Feb 12 - Feb 18, 2024
Literate programming / Third-party APIs
- papyrus (⭐47) - Papyrus makes your markdown executable with the reader macro of Common Lisp.MIT
Feb 05 - Feb 11, 2024
Miscellaneous
- for Electron, see:
- Electron-lisp-boilerplate (⭐10) - a rudimentary boilerplate for building Electron apps that start a Lisp process.
- ceramic - a wrapper around simpler tools to create and build an Electron app for Common Lisp. It is currently broken and unmaintained, but some tools are workth having a look at.
- NOTE: the main idea in embedding a lisp web app in Electron is to start the lisp webserver as an async process from Electron's
main.js
file, and to point the Electron window to the localhost URL. That's it.
Files and directories / Third-party APIs
- filepaths (⭐25) - Modern and consistent filepath manipulation for Common Lisp. LGPL3.
- no dependencies, doesn't access the filesystem.
Jan 22 - Jan 28, 2024
C, C++
- stacks-api (⭐1) - a Stacks API client. AGPL-3.0
Web frameworks / Isomorphic web frameworks
- Weblocks (Reblocks) (⭐57) - A widgets-based framework with a built-in ajax update mechanism that "solves the JavaScript problem". LLGPL.
- example code bases: Ultralisp (⭐234), krasnodar (⭐6), a dashboard made for a hackaton (2024) (demo video).
Jan 08 - Jan 14, 2024
REPLs / Third-party APIs
- cl-repl (⭐19) - an ipython-like REPL. With completion, shell commands, magic commands, debugger, etc. GPL3. With colorthemes (⭐12).
- new as of 2024: it now provides multi-line input and binary releases. Simply download a binary (Ubuntu so far) and run it.
Jan 01 - Jan 07, 2024
Emacs / Third-party APIs
- sly-overlay - 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.
Dec 25 - Dec 31, 2023
Graph databases
- AllegroGraph - a high-performance, multi-model (document and graph), entity-event knowledge graph technology.
- Proprietary, with a free version of a limit of 5 million RDF triples.
- with a hosted version
- AllegroGraph 8.0 (released December, 2023) "incorporates Large Language Model (LLM) components directly into SPARQL along with vector generation and vector storage for a comprehensive AI Knowledge Graph solution."
Typing
- experimental: PELTADOT - PELTADOT Extends Lisp’s Types And Dispatches Over Them.
Theorem provers
- NASA's PVS, the Prototype Verification System, and NASAlib (⭐266), a collection of formal development libraries.
- its 63 top-level libraries span the fields of: real analysis, limits, continuity, derivatives, integrals; complex integration; directed graphs; exact real arithmetic including trig functions; interval arithmetic and numerical approximations; linear algebra; 2-D, 3-D, 4-D, and n-dimensional vectors… and more.
Others / OpenAPI, OData, OpenRPC
- jsonrpc (⭐66) - JSON-RPC 2.0 server/client for Common Lisp. BSD.
Nov 27 - Dec 03, 2023
C, C++
- vacietis (⭐306) - C to Common Lisp compiler. LGPL3.
Nov 20 - Nov 26, 2023
System interface / Third-party APIs
- machine-state (⭐18) - Retrieve machine state information about CPU time, memory usage, thread processing time, etc.
Nov 13 - Nov 19, 2023
Graph databases
- restagraph - an app that dynamically generates REST APIs for a Neo4j database, using a schema defined within the database. GPL3.
Apps / Third-party APIs
- lisp-binary (⭐92) - A library to easily read and write complex binary formats. GPL3.
Nov 06 - Nov 12, 2023
Graph databases
- neo4cl - 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.
- and maybe: cl-neo4j (⭐26) - a thin neo4j RESTFUL client interface.
Iteration
- cl-transducers - Ergonomic, efficient data processing. LGPL3.
- "Transducers are an ergonomic and extremely memory-efficient way to process a data source. Here “data source” means simple collections like Lists or Vectors, but also potentially large files or generators of infinite data."
- "It is, in general, the most complete implementation of the Transducer pattern."
- a "modern" API with
map
,filter
,take
,repeat
,cycle
,fold
…
Oct 23 - Oct 29, 2023
Deployment / Isomorphic web frameworks
- Cloud Init file for SBCL - an init file for providers supporting the cloudinit format (DigitalOcean etc).
Oct 16 - Oct 22, 2023
Utils / Third-party APIs
- ⭐ lparallel (⭐16) - A library for parallel programming. 3-clause BSD. Originally on lmj/lparallel (⭐242).
Sep 18 - Sep 24, 2023
Community / Interfaces to other package managers
- asdf-sbcl (⭐21), a plugin for the universal package manager.
- 📹 this Youtube video (by 40ants, 2023) on how to use alien-works-delivery and linux-packaging.
Sep 11 - Sep 17, 2023
Miscellaneous
- cl-raylib (⭐39) NEW in 2023 - fully auto-generated Common Lisp bindings to Raylib and Raygui using claw and cffi-object. Apache 2.0.
- glfw (⭐21) NEW in 2023 - An up-to-date Common Lisp bindings library to the most recent GLFW OpenGL context management library.
Sep 04 - Sep 10, 2023
Mobile
- NJSON (⭐17) - Parser-agnostic JSON indexing (with JSON Pointer support), destructuring, and validation framework. BSD.
CLOS extensions
- nclasses (⭐7) - Syntactic sugar for class and generic function declarations. Features type inference, automatic accessors, inline initform syntax, automatic exports, and other conveniences. BSD.
Files and directories / Third-party APIs
- nfiles (⭐18) - 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.
Aug 28 - Sep 03, 2023
C, C++
- endatabas (⭐273) - Schemaless SQL document database with full history. AGPL-3.0.
- built in Common Lisp and Rust.
- in development, alpha product scheduled for Q2 of 2024. roadmap.
Jul 03 - Jul 09, 2023
Mobile
- cl-jwk (⭐18) - Common Lisp system for decoding public JSON Web Keys (JWK). BSD License.
Reference
- NEW! CL CommunitySpec - a rendition of the Common Lisp ANSI Specification draft.
- with an interactive search, syntax highlighting! And open-source.
- NEW! novaspec - a modern rendition of the CL ANSI draft.
- not open-source?
Jun 12 - Jun 18, 2023
C, C++
- cl-frugal-uuid (⭐21) - Common Lisp UUID library with zero dependencies. MIT.
Wrappers
- cl-duckdb (⭐36) - Common Lisp CFFI wrapper around the DuckDB C API. MIT.
Tools
- archlinux-cl (⭐3) - Docker Arch Linux image with Common Lisp implementations (7 to this day). MIT.
Miscellaneous
- CEDAR - an advance interactive development environment aiming to be Emacs compatible with all the features that come with it. (WIP)
Reactive programming
- lwcells (⭐17) - 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.
Shells, shells interfaces / Third-party APIs
- unix-in-lisp (⭐142) - 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).
May 22 - May 28, 2023
C, C++
- gpgme (GnuPG Made Easy) is the standard library to access GnuPG functions from programming languages. It provides an official Common Lisp system.
- gpgme lisp sources (not in Quicklisp). GPL2.
Community
- 👍 (NEW! as of May, 2023) ocicl (⭐159) - a new and experimental alternative to Quicklisp, built on tools from the world of containers. MIT.
HTTP clients / Interfaces to other package managers
- http2 (⭐41) - HTTP/2 implementation in Common Lisp. MIT.
Deployment / Isomorphic web frameworks
- common-lisp-heroku-example (⭐5) - Example of Common Lisp server on Heroku using Docker.
Lem / Third-party APIs
- Lem (⭐2.4k) - a ready to use, Emacs-like, Slime-based
editor tailored for Common Lisp development out of the box, as well as other programming languages with its built-in LSP client. With ncurses, Electron and SDL2 interfaces. MIT.
- Lem 2.0 (⭐2.4k), released on May, 2023, added the SDL2 frontend, thus mouse support, graphic capabilities and Windows support, among other new features.
- see also: an opengl frontend (⭐37), Lem in Docker (⭐4), lem-pareto (⭐33).
Apr 17 - Apr 23, 2023
Theorem provers
- ACL2 - a logic and programming language in which you can model computer systems, together with a tool to help you prove properties of those models.
- used in the industry since the 1990s.
- it supports a subset of the ANSI standard Common Lisp programming language.
- "Companies that have used ACL2 regularly include AMD, Centaur Technology, IBM, Intel, Kestrel Institute, Motorola/Freescale, Oracle and Rockwell Collins." (source)
- Proofpad (⭐9), an online IDE for ACL2.
- ACL2-kernel (⭐4), a Jupyter Kernel for ACL2.
- ACL2 Sedan, an Eclipse plugin that provides a modern IDE for ACL2, used with students at universities.
Others / Third-party APIs
- cl-telegram-bot - Telegram bot API. MIT.
- includes example bots such as a calculator, payment with invoices, an actor-based bot…
- automatic API spec parser
- cl-telegram-bot-auto-api (⭐7) - Alternative Telegram Bot API bindings, auto-generated from Telegram website. 3-clause BSD.
Apr 10 - Apr 16, 2023
Others / OpenAPI, OData, OpenRPC
- NEW! openapi-generator - OpenAPI client code generator. AGPL-3.0.
- Generation of OpenAPI ASDF/Quicklisp-loadable projects within one command,
- Support for path, (arbitrary) query, (arbitrary) header, (json) content parameters,
- Conversion of an OpenAPI spec into CLOS object -> explore API within inspector,
- Conversion of OpenAPI-2.0 or YAML files to OpenAPI-3.0 JSON with swagger converter (network connection required),
- etc.
Date and time / Third-party APIs
- stopclock (⭐12) - 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.
Mar 06 - Mar 12, 2023
Utils / Third-party APIs
- Blackbird - a Promise implementation for Common Lisp MIT.
- see also promise (⭐11) - a basic promise datastructure, with timeouts. ZLIB.
Feb 27 - Mar 05, 2023
Community
- Quickutil (⭐87) - A utility manager, similar to Quicklisp, but for small utilities rather than whole libraries. 3-clause BSD.
- CLPM - A package manager for Common Lisp that strives to cleanly separate the package manager process itself from the client image that uses it. BSD_2Clause.
- CLPM comes as a pre-built binary, supports HTTPS by default, supports installing multiple package versions, supports versioned systems, and more.
- redist (⭐12) - facilities to produce Quicklisp distributions.
Feb 20 - Feb 26, 2023
Mobile
- 👍 jzon (⭐150) - a correct, safe and fast JSON parser. MIT.
- jzon is the only CL JSON library which correctly declines all invalid inputs per the official JSON test suite and accepts all valid inputs per that suite.
- it doesn't crash on invalid input (jsown), doesn't choke on large datasets (Jonathan), and more.
- v1.0 released in the Quicklisp dist of February, 2023.
- "I believe jzon to be the superior choice and hope for it to become the new, true de-facto library in the world of JSON-in-CL once and for all."
Community
- asdf-dependency-graph (⭐8) - A minimal wrapper around
dot
to generate an image of the dependencies graph.
Others / Third-party APIs
- aws-sdk-lisp (⭐87) - Provides interfaces for each AWS services as individual systems. BSD_2Clause.
- incluse dozens of services: dsn, appstream, athena, cloudfront, codedeploy, cognito-*, directconnect, dynamodb, dms, elasticache, email, events, kinesis, machinelearning, monitoring, s3, sms, storagegateway, workspaces…
CSV / Third-party APIs
- csv-validator (⭐4) - Validates tabular CSV data using predefined validations, inspired from its Python homologue "Great Expectations". BSD_3Clause.
Feb 13 - Feb 19, 2023
Data validation / Third-party APIs
- cl-semver (⭐14) - Implementation of the Semantic Versioning Specification. MIT
Feb 06 - Feb 12, 2023
Miscellaneous
- CLOCC's elisp.lisp - Emacs Lisp in Common Lisp.
- implementation of the Emacs Lisp language as a Common Lisp package. [1999]
- does not attempt to reimplement the library of functions provided in Emacs to manipulate buffers and other related objects, so it focuses on the "pure" Emacs Lisp language; but it was able to run the non-UI parts of the Emacs Calendar. (S. Monnier, M. Sperber)
System administration / Third-party APIs
- cl-unix-cybernetics (⭐181) (previously Adams) - UNIX system administration in Common Lisp. Not unlike Ansible, Chef or Puppet. ISC.
- You describe your systems (hosts) using resources having properties. The properties are then probed and synchronized using only /bin/sh on the remote host, and /usr/bin/ssh on the control host.
Jan 23 - Jan 29, 2023
Documentation builders / Third-party APIs
- sphinxcontrib-cldomain -
Extending Sphinx to cover Common Lisp. To build documentation with
the same ease as sphinx would a Python project. GPL3
- crossreferences, links to the CLHS, symbol index, search, and all Sphinx features.
Git / Third-party APIs
Jan 16 - Jan 22, 2023
Mobile
- hu.dwim.walker (⭐6) - a code walker and unwalker (aka AST parser and unparser). BSD. See also this blog post.
JetBrains / Third-party APIs
- SLT (⭐198) - an IDE Plugin for Itellij/Jetbrains IDE lineup implementing support for Common Lisp via SBCL and Slime/Swank.
- 🎉 NEW! Released in Jan, 2023.
Dec 26 - Jan 01, 2022
Community / Interfaces to other package managers
- alien-works-delivery (⭐33) - 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.
Actors pattern / Third-party APIs
- lisp-actors (⭐69), 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 (⭐96) (a discontinued project)
- does remoting, includes a threading abstraction layer library similar to Bordeaux-Threads.
- ! it lacks unit tests.
Online editors / Third-party APIs
- Riju, a "fast online playground for every programming language", supports Common Lisp (SBCL).
Dec 12 - Dec 18, 2022
Tools
- bit-smasher (⭐53) - Common Lisp library for handling bit vectors, bit vector arithmetic, and type conversions. MIT.
Mobile
- shasht (⭐46) - Common Lisp JSON reading and writing for the Kzinti. MIT.
- " Shasht is one of the two new libraries that I particularly like and is already in quicklisp. It is fast, it handles null correctly, it encodes CLOS objects, structures and hash-tables. It can also do incremental encoding." Sabra Crolleton.
Nov 21 - Nov 27, 2022
Miscellaneous
- Xelf - Extensible game library. Not available on Quicklisp. GNU LGPL2.1.
Iteration
- gtwiwtg - A lazy sequences library. Similar to 'series' but not as complete. However it has a 'modern' API with stuff like
take
,filter
,for
,fold
, etc. that is easy to use.
Javascript / Isomorphic web frameworks
- Valtan (⭐237) - Common Lisp to JavaScript compiler.
- JACL - an experimental Lisp system for the Web browser platform to explore new techniques for developing large Single Page Applications with Lisp.
Others / Email
- sendgrid (⭐14) - send emails with Sendgrid's API. MIT.
Others / Third-party APIs
- Ciao (⭐24) - 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.
Actors pattern / Third-party APIs
- 👍 Sento (⭐196) - 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.
Caching / Third-party APIs
- function-cache (⭐47) - A Common Lisp function caching / memoization library. BSD.
Nov 14 - Nov 20, 2022
Clojure
- Cloture (⭐376) - Clojure in Common Lisp.
- cl-oju (⭐19) - a few idioms, mostly relating to sequences, that I miss when writing Common Lisp. MIT.
- clj-con (⭐35) - Clojure-style concurrency operations in Common Lisp. MIT.
- clj-re (⭐10) - Clojure-style regular expression functions.
Typing
- typo (⭐39) - A portable type inference library for Common Lisp. MIT.
Others / OpenAPI, OData, OpenRPC
- OpenRPC (⭐27) - OpenRPC implementation for Common Lisp. BSD.
- Automatic OpenRPC spec generation
- Automatic JSON-RPC client building by OpenRPC spec. This includes creation of Common Lisp classes and methods for making RPC requests and returning native CL objects.
- all JSON marshalling is done under the hood.
Apps / Third-party APIs
- trivial-sanitize - clean html strings:
"<a>foo</a>"
→"foo"
. LLGPL.
- testieren - 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.
Macro helpers / Third-party APIs
- easy-macros (⭐20) - an easy way to write 90% of your macros. Apache2.0.
Oct 31 - Nov 06, 2022
Wrappers
- cl-ndbapi (⭐13) - bindings to the C++ NDB API of RonDB, "the world's fastest key value store", by Dydra. GPLv2.
Oct 24 - Oct 30, 2022
Others / Third-party APIs
- lisp-pay (⭐22) - Wrappers around various payment processors: Paypal, Stripe, Coinpayments and BTCPayServer. MIT.
- lunamech-matrix-api (⭐7) - A complete wrapper over the Client -> Server Matrix API. MIT.
Oct 17 - Oct 23, 2022
Notebooks / Third-party APIs
- common-lisp-jupyter (⭐223) - 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.
- jupyterlab-debugger-restarts (⭐2) - restart functionality for the JupyterLab debugger.
- Cytoscape widget (⭐3) - Cytoscape.js widget for common-lisp-jupyter.
- Kekule widget (⭐2) - Kekule.js widget for common-lisp-jupyter.
- molecule viewer (⭐0) - A molecule viewer for JupyterLab using ngl.
- ngl widget (⭐2) - A ngl widget (protein viewer) for common-lisp-jupyter.
- sheet widget (⭐2) - Data grid widget for common-lisp-jupyter.
- cl-jupyter (⭐199) - A Common Lisp kernel for Jupyter notebooks custom licence (⭐199).
Oct 03 - Oct 09, 2022
Mobile
- GNU CLISP - A GNU implementation; contains a compiler and an interpreter. Standard conformance. GNU GPL3. They develop on Gitlab.
- compiles to bytecode, its default REPL is more user friendly than SBCL's (with symbol completion and readline integration).
- however, it is not actively developed, it doesn't comply entirely to the ANSI standard, it is less performant than SBCL and it is lacking compatibility features.
Sep 19 - Sep 25, 2022
Miscellaneous
- 🆕 cl-gtk4 (⭐213) - GTK4/Libadwaita/WebKit binding for Common Lisp. LGPL3.
Others / OpenAPI, OData, OpenRPC
- apispec (⭐33) - A Common Lisp library for handling Web API requests and responses. BSD_3Clause.
- takes an OpenAPI3 yaml specification and allows to validate and parse HTTP request headers, parameters and bodies.
Sep 05 - Sep 11, 2022
Files and directories / Third-party APIs
- file-notify (⭐28) - a cross-platform library for file change detection. zlib.
Aug 22 - Aug 28, 2022
Coding platforms
- Codewars - a code training platform, with Common Lisp support (SBCL).
HTML generators and templates / Isomorphic web frameworks
- ⭐ Djula (⭐150) - A port of Django's template engine to Common Lisp. Expat.
- cl-djula-tailwind (⭐9) - use TailwindCSS classe in your Djula templates without any JavaScript or Node.js tooling.
- djula-template-designer (⭐4) - a template designer tool.
Apps / Third-party APIs
- Resolve (⭐37) - A software for AST-based diff calculation, display, and automated resolution. Written in C++ and CL, you'll find Lisp utilities.
Aug 01 - Aug 07, 2022
Others / Third-party APIs
- ⭐ maxima - Computer Algebra System. GNU GPL3.
- wxMaxima: a graphical frontend.
- Maxima on Android, built with ECL.
- Maxima on Jupyter (⭐189)
- it can be used via SageMath and KDE Cantor. Of course, with Emacs: maxima-mode (screenshot) and maxima-interface (⭐17) to ease the interface between Maxima and Common Lisp.
- it can be used from a Lisp REPL.
Documentation builders / Third-party APIs
- cl-livedocs (⭐2) - similar and newer, based on Webinfo, with full text search enabled by default.
Jul 25 - Jul 31, 2022
Websockets / Isomorphic web frameworks
- clws (⭐72) - websockets server in CL, built on IOlib and libfixposix. No licence specified.
- Hunchensocket (⭐111) - RFC6455 compliant WebSockets for Common Lisp, as an extension to Hunchentoot. MIT.
- websocket-driver (⭐104) - based on Clack.
Jul 18 - Jul 24, 2022
Changing the syntax
- clamp (⭐71) - Arc language's brevity and conciseness to Common Lisp. Artistic License 2.0.
- also arc-compat (⭐12) - Arc compatible package. Perl Foundation's Artistic Licence 2.0.
Websockets / Isomorphic web frameworks
- Portal (⭐28) - Portable websockets for Common Lisp, using usocket. LLGPL.
Jul 11 - Jul 17, 2022
ORMs
- 👍 mito (⭐292) - An ORM for Common Lisp with migrations, relationships and PostgreSQL support BSD_3Clause.
- mitho-auth (⭐18), a mixin class for use authorization
- mito-attachment (⭐14), a mixin class for file management outside of RDBMS.
Persistent object databases
- cl-naive-store - a naive persisted, in memory (lazy loading), indexed, document store for Common Lisp. MIT.
- see the introductory blog post
- dare we add: used in production by the author's company (ASTN Group, see awesome-lisp-companies)
Mobile
- ⭐ SBCL - Steel Bank Common Lisp. A fork of CMUCL; compiles to efficient machine code. Standard compliance. Public domain, with some parts under Expat and 3-clause BSD.
- see also: sbcl-librarian (⭐97) - Dynamic library delivery tools for SBCL. Create shared libraries that can be called from C or Python. MIT. Blog post. Tutorial.
- SBCL-GOODIES (⭐34) - Distributing binaries with Common Lisp and foreign libraries: libssl, libcrypto and libfixposix are statically baked in. MIT.
- Nightly Windows builds of SBCL (⭐1) - Nightly builds of SBCL using MSYS2 UCRT64. See also Roswell's SBCL MSI builds (⭐9).
- SBCL on Chocolatey for Windows (unofficial)
- [WIP, 2021] Static Executables with SBCL.
Changing the syntax
- ⭐ cl-interpol (⭐62) - A set of reader modifications to allow string interpolation. BSD.
- mstrings - a reader macro to provide visually appealing multiline blocks. An M-string trims leading whitespace, concatenates lines together, etc. BSD_3Clause.
- pythonic-string-reader (⭐19) - A simple and unobtrusive read table modification inspired by Python's three quote strings. BSD_3Clause.
- cl-heredoc (⭐15) - a "heredocs" (⭐15) dispatcher. GPL3. Allows to write:
#>eof>Write whatever (you) "want", no matter what characters, until the magic end sequence has been reached.eof
Function extensions
- nhooks (⭐18) - an enhanced implementation of hooks (extension points) with crucial improvements.
HTTP Servers / Hunchentoot plugins
- cl-tbnl-gserver-tmgr (⭐22) - Hunchentoot Gserver-based taskmanager. cl-gserver is an actor-like message-passing library (see below in "Actors pattern"). Experimental.
Websockets / Isomorphic web frameworks
- 👍 usocket (⭐219) - A portable TCP and UDP socket interface. Expat.
Web development utilities / Assets management
- Rock (⭐46) - an asset manager for Common Lisp. It's basically a combination of Bower and webassets. MIT.
Web development utilities / Browser tests
- cl-webdriver-client (⭐21) - a binding library to WebDriver (supports Selenium 4.0).
Web development utilities / Form handling
- 👍 cl-forms (⭐43) - Web forms handling library for Common lisp. MIT.
Web development utilities / User login and password management
- cl-authentic (⭐7) - Password management for Common Lisp (web) applications. LLGPL.
- safe password storage: cleartext-free, using your choice of hash algorithm through ironclad, storage in an SQL database,
- password reset mechanism with one-time tokens (suitable for mailing to users for confirmation),
- user creation optionally with confirmation tokens (suitable for mailing to users),
- mito-email-auth (⭐5) - Helper to authenticate a website's users by sending them unique code by email.
Others / Email
- trivial-imap (⭐3) - 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.
- cl-smtp - CL-SMTP is a simple lisp smtp client.
- mailgun (⭐12) - A thin wrapper to post HTML emails through mailgun.com. unlicence.
- cl-ses (⭐15) - Library for AWS SES. Expat.
Others / Static site generators
- coleslaw (⭐557) and its coleslaw-cli (⭐6) - Flexible Lisp Blogware similar to Frog, Jekyll, or Hakyll. BSD.
Others / Third-party APIs
- Aws-sign4 (⭐18) - Common Lisp library for Amazon Web Services signing version 4. GNU GPL3.
- zs3 (⭐38) - A library for working with Amazon's Simple Storage Service (S3) and CloudFront service. BSD.
- 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. zlib.
- avatar-api (⭐9) - Get avatars from Google+, Gravatar and others. Expat.
- chirp (⭐68) - A Twitter client library. zlib.
- tooter (⭐44) - a client library implementing the full v1 REST API protocol for Mastodon. zlib.
- cl-mediawiki (⭐18) - a wrapper around the MediaWiki api. MIT.
- cl-openid (⭐4) - An implementation of OpenID. LLGPL.
- cl-pushover (⭐2) - Common Lisp bindings to Pushover. MIT.
- humbler (⭐11) - A Tumblr API interface. zlib.
- multiposter (⭐13) - post to multiple services simultaneously. zlib.
Git / Third-party APIs
- git-api (⭐19) - Common Lisp library to access a git repository. It doesn't need git or libgit installed. BSD.
Jul 04 - Jul 10, 2022
C, C++
Jun 13 - Jun 19, 2022
HTTP Servers / Clack plugins
- tiny-routes (⭐15) - A tiny routing library for Common Lisp targeting Clack. BSD_3Clause.
Jun 06 - Jun 12, 2022
C, C++
- ⭐ Ironclad (⭐174) - A library of crypto functions for Common Lisp. Not considered secure, but is still useful for the message digest functions. Expat.
ORMs
Wrappers
- ⭐ postmodern - A library for interacting with PostgreSQL. zlib.
C
- ⭐ CFFI (⭐438) - Portable, easy-to-use C foreign function interface. Expat.
- cffi-ops (⭐32) - helps write concise CFFI-related code.
- cffi-objects (⭐22) - enables fast and convenient interoperation with foreign objects.
Miscellaneous
- ⭐ Sketch (⭐1.4k) - A CL framework for the creation of electronic art, graphics, and lots more. MIT.
- ⭐ CommonQt (⭐116) - A Common Lisp binding for Qt4 via QtSmoke. FreeBSD.
- CommonQt5 (⭐33) - bindings for Qt5.
- warn: currently difficult to install. Used in production© by SISCOG.
- CommonQt5 (⭐33) - bindings for Qt5.
Mobile
- ⭐ alexandria - A general-purpose utility library. Public domain.
Pattern matching
- ⭐ trivia (⭐334) - Optimized pattern-matching library. LLGPL.
Iteration
Community
- ⭐ Quicklisp - A library manager containing many libraries, with easy depencency management. Expat.
- ql-https (⭐21) - shell out to cURL and use HTTPS by default.
- Quicklisp bundles - self-contained sets of systems that are exported from Quicklisp and loadable without involving Quicklisp.
HTTP Servers / Interfaces to other package managers
- ⭐ Hunchentoot - A web server. 2-clause BSD
HTML generators and templates / Isomorphic web frameworks
Utils / Third-party APIs
- ⭐ BordeauxThreads - Portable, shared-state concurrency. Expat.
Job processing / Third-party APIs
Emacs / Third-party APIs
- ⭐ Slime (⭐1.9k) - Superior Lisp Interaction Mode for Emacs; a full-blown environment for Common Lisp inside of Emacs. Public domain.
Apps / Third-party APIs
- ⭐ esrap (⭐78) - Packrat parser. Expat.
- ⭐ FiveAM (⭐186) - Simple regression testing framework. FreeBSD.
- fiveam-matchers (⭐8) - an extensible, composable matchers library for fiveam. Apache2.0.
Caching / Third-party APIs
- clache (⭐18) - General caching facility. Cache any Lisp object on disk or in memory. A cache can be persistent or have an expiration time. LLGPL.
CSV / Third-party APIs
- ⭐ cl-csv (⭐116) - A library for parsing CSV files. 3-clause BSD.
Date and time / Third-party APIs
- ⭐ local-time - A development library for manipulating date and time information in a semi-standard manner. 3-clause BSD.
Documentation builders / Third-party APIs
- mgl-pax (⭐74) - 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.
- see this 40ants/doc (⭐17) fork: a lighter core system, a JavaScript search index, multiple format output, HTML themes, RSS and Atom feed for the Changelog and more.
- Codex (⭐90) - A beautiful documentation system for Common Lisp. MIT.
- QBook (⭐7) - generates HTML (or LaTeX) formatted code listings of Common Lisp source files. BSD_3Clause.
- all comments started with 4
;
(";;;;") are interpreted as documentation. Enhance the documentation with headings and directives. - QBook acts as "a lightweight literate programming system, where Lisp code is not rendered inline, but in separate sections, and that makes the document more pleasant to navigate." @mmontone
- all comments started with 4
- Declt (⭐38) - 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.
- cl-bibtex (⭐26) - A compatible re-implementation of the BibTeX program in Common Lisp, with a BST-to-CL compiler. GNU LGPL2.1.
- docbrowser (⭐17) - a server that generates documentation for the loaded systems on the fly.
- Its main page presents a list of all loaded systems in your Lisp image. Click on one system, and you get a page with three panes: functions, classes and variables. Click on a function to see its source, in context, with line numbers. Click on classes to see their slots and specializing functions.
Literate programming / Third-party APIs
- literate-lisp (⭐64) - Load Common Lisp code blocks from Emacs' Org files. MIT.
- erudite (⭐77) - Literate Programming System built with interactive development in mind. MIT.
Other / Third-party APIs
- absolute de-facto libraries, like BordeauxThreads or Quicklisp, should be denoted with a ⭐ (Unicode code U+2B50).
May 30 - Jun 05, 2022
Miscellaneous
- ⭐ ltk - A binding for the Tk toolkit. LLGPL or GNU LGPL2.1.
- LTk Examples - Provides LTk examples for the tkdocs tutorial.
- LTk Plotchart - A wrapper around the tklib/plotchart library to work with LTk. This includes over 20 different chart types (xy-plots, gantt charts, 3d-bar charts etc...).
May 16 - May 22, 2022
Javascript / Isomorphic web frameworks
- sigil (⭐2) - A Parenscript to Javascript command line compiler and REPL. MIT.
- cl-react (⭐68) - Common Lisp (Parenscript) utilities for building web apps in ReactJs. MIT.
- Panic (⭐42), a Parenscript library for React. Not in Quicklisp. MIT. Its TodoMVC example (⭐7).
- Parenscriptx (⭐24) - Parenscript Macros to aid generating react code. MIT.
- jscl-react (⭐17) - A web framework for writing react components in common lisp using jscl. No license specified.
Matrix libraries / Third-party APIs
- magicl (⭐237) - Matrix Algebra proGrams In Common Lisp based on BLAS/LAPACK and Expokit, by Rigetti Computing. BSD_3Clause.
XML / Third-party APIs
- CXML - XML parser and serializer, with a range of extension libraries. LLGPL.
- 👍 has an incremental parser, allowing to parse big files.
- see the FXML (⭐32) 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.
May 02 - May 08, 2022
Mobile
- CMUCL - An implementation from Carnegie Mellon University. Public domain. SBCL is a fork of CMUCL.
- Corman Lisp (⭐570) - a Common Lisp development environment for Microsoft Windows running on Intel platforms. MIT.
Deployment / Isomorphic web frameworks
- Platform.sh has Common Lisp support, so has OVH through their Web PaaS partnership.
Apr 18 - Apr 24, 2022
Miscellaneous
- file-select (⭐20) - A library to invoke the native system file dialog to select or create files. Zlib.
XML / Third-party APIs
- Plump (⭐120) - A lenient XML parser. zlib.
- xpath (⭐8) (homepage - Implementation of the XML Path Language (XPath) Version 1.0. BSD_2Clause.
- xmls (⭐20) - A small, simple, non-validating XML parser. 3-clause BSD.
- cl-feedparser (⭐26) - A Common Lisp (RSS, Atom) feed parser. LLGPL
- Buildnode (⭐19) - A common lisp library to ease interaction with CXML-dom, such as building Excel spreadsheets. BSD.
Emacs / Third-party APIs
- slime-star (⭐40) - a SLIME configuration with extensions pre-installed, with also some custom utilities and menus:
- the Lisp system browser
- SLIME doc contrib (⭐20) - enhance the default help buffer.
- Quicklisp systems (⭐27) - Search, browse and load Quicklisp systems from Emacs.
- Slime breakpoints (⭐15)
- Slite (⭐50) - a test runner for FiveAM.
- Quicklisp-apropos (⭐10) - Perform
apropos
queries across libraries in Quicklisp (full-text search on symbol names, classes, documentation…). - slime-critic (⭐10) - the lisp critic gently critiques your code for bad patterns.
Mar 21 - Mar 27, 2022
i18n / Third-party APIs
- translate (⭐8) - seamless language localization. LLGPL.
Mar 07 - Mar 13, 2022
Miscellaneous
- Allegro's Common Graphics- a library of functions for writing windowized GUIs for Windows, Mac and Linux. Proprietary with a free version.
- since Allegro 10.1 (March, 2022), the IDE and the Common Graphics toolkit runs in the browser.
Feb 28 - Mar 06, 2022
Web frameworks / Clack plugins
- radiance (⭐325) - A web application environment and framework . zlib.
- 👍 Snooze (⭐208) - 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.
Developer utilities / Third-party APIs
- journal (⭐39) - a library for logging, tracing, record-and-replay testing and persistence. MIT.
Feb 07 - Feb 13, 2022
Mobile
- LispWork's mobile runtime - Android and iOs. Proprietary.
- LQML - a lightweight ECL binding to QML (both Qt5 and Qt6) derived from EQL5. LGPL and public domain.
Reference
- CDR - Common Lisp Document Repository. a repository of documents that are of interest to the Common Lisp community. The most important property of a CDR document is that it will never change: if you refer to it, you can be sure that your reference will always refer to exactly the same document.
- the Common Lisp Document Repository is hosted at Zenodo.
Jan 24 - Jan 30, 2022
Wrappers
- lmdb (⭐43) - Bindings to LMDB, the Lightning Memory-mapped Database, an ACID key-value database with MultiVersion Concurrency Control.
Miscellaneous
- cl-cffi-gtk (⭐146) - Binding for GTK+3. GNU LGPL2.1.
- a tutorial: Learn Common Lisp by Example: GTK GUI with SBCL
Community / Interfaces to other package managers
- MGL (⭐588) - a machine learning library for backpropagation neural networks, boltzmann machines, gaussian processes and more. MIT.
- some parts originally contributed by Ravenpack International.
- used by its author to win (⭐130) the Higgs Boson Machine Learning Challenge.
- more about the author: he also won the Google AI Challenge in 2010 using Common Lisp, but without MGL, as no machine learning was needed. A related talk (59', 2013).
Dec 13 - Dec 19, 2021
Web development utilities / User login and password management
- cl-cas (⭐1) - A library to help CAS authenticaton to Common Lisp web applications. Not in Quicklisp.
- cas-middleware (⭐0) - CAS authenticaton middleware for Caveman.
- cas-demo (⭐2) - a demo project.
Nov 22 - Nov 28, 2021
Beginner
- 📹 Common Lisp Programming: from novice to effective developer - A learning video series on the Udemy platform (full content under paid access). By an active lisper and community contributor (@vindarel). Github home (⭐40).
Thanks for supporting my work on Udemy. I can send a free link to students, just contact me.
Nov 15 - Nov 21, 2021
Querying HTML/DOM, web scraping / Isomorphic web frameworks
- 👍 lquery (⭐87) - A jQuery-like HTML/DOM manipulation library. zlib.
Nov 01 - Nov 07, 2021
Advanced
- Programming Algorithms in Lisp - Updated version of "Programming Algorithms"; A comprehensive guide to writing efficient programs with data structures and algorithms in Lisp.
Oct 25 - Oct 31, 2021
VSCode / Third-party APIs
- alive (⭐206) - Common Lisp Extension for VSCode. Public domain.
- see the Cookbook: using VSCode with Alive
Sep 27 - Oct 03, 2021
Apps / Third-party APIs
Sep 20 - Sep 26, 2021
To third parties
- pzmq (⭐38) - ZeroMQ 4.0+ Common Lisp bindings. Unlicense.
Compression / decompression / Third-party APIs
- archive (⭐30) - a library for reading and creating archive (tar, cpio) files. BSD_3Clause. A pure Common Lisp replacement for the
tar
program.
Sep 13 - Sep 19, 2021
Typing
- 👍 Coalton (⭐1.1k) - an efficient, statically typed functional programming language that supercharges Common Lisp. MIT.
Aug 23 - Aug 29, 2021
Persistent object databases
- bknr.datastore (⭐115) - a CLOS-based lisp-only database in RAM with transaction logging persistence. Manual. licence.
- see also this good introductory blog post
- an example web application using bknr.datastore: screenshotbot-oss (⭐241).
- See also bknr.cluster (⭐26), if you want a highly-available replicated version of bknr.datastore.
Utils / Third-party APIs
- cl-etcd (⭐11) - Run etcd as an asynchronous inferior process. etcd is a strongly consistent, distributed key-value store. AGPL-3.0.
Command-line options parsers / Third-party APIs
- 👍 Clingon (⭐127) - 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…
Aug 09 - Aug 15, 2021
Community
- quick-patch (⭐20) - easily override quicklisp projects without using git submodules. MPL-2.0.
Web development utilities / Web project skeletons and generators
- cl-cookieweb (⭐38) - a Cookiecutter template to start a web project. BSD_3Clause. Not in Quicklisp.
- Provides a working toy web app with the Hunchentoot web server, easy-routes, Djula templates, styled with Bulma, based on SQLite, with migrations, an example table definition and a test suite using FiveAM.
- make-like (⭐12) - an application template builder for LIKE (Lisp In Kubernetes + Emacs) applications. Apache2.0.
- Makefile, podman support, GitHub Actions, Prometheus metrics support, TOML-style config.ini, easy-route preconfigured with health-check and more.
- cl-webapp-seed (⭐6) - a simple web application boilerplate. Uses Hunchentoot, cl-who, deploys easily to Heroku. MIT.
Others / Web project skeletons and generators
- trivial-download (⭐38) - Download files. MIT.
Running scripts / Third-party APIs
- ScriptL (⭐73) - 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.
- similar and maybe simpler: lserver
Command-line options parsers / Third-party APIs
- Adopt (⭐31) - A Damn OPTion parsing library. MIT.
Jul 19 - Jul 25, 2021
HTTP Servers / Clack plugins
- clath (⭐39) - 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.
Shells, shells interfaces / Third-party APIs
- shcl (⭐319) - a POSIX-like shell in Common Lisp. Apache2.0.
System administration / Third-party APIs
- Consfigurator - Lisp declarative configuration management system. You can use it to configure hosts as root, deploy services as unprivileged users, build and deploy containers, and produce disc images. GPL3.
Apps / Third-party APIs
- Slite (⭐50) - a SLIme-based TEst runner for FiveAM Tests. Apache2.0
- Slite interactively runs your Common Lisp tests (at the time of writing only FiveAM is supported). It allows you to see the summary of test failures, jump to test definitions, rerun tests with the debugger, all from inside Emacs.
Project skeletons / Third-party APIs
- cl-project (⭐250) - General modern project skeletons. LLGPL.
- cl-project-with-docs (⭐4) - uses Sphinx and reStructured text to render nice and readable HTML documentation. BSD.
- cl-cookieproject (⭐76) - Generate a ready-to-use Common Lisp project. Not in Quicklisp. BSD_3Clause.
- test definitions, entry point to run from sources, build a binary, Roswell integration…
Jun 21 - Jun 27, 2021
Community
- #commonlisp on Libera Chat - main Common Lisp IRC channel.
- #lisp on Libera Chat - IRC channel for all Lisp dialects.
- #clschool on Libera Chat - IRC channel for learning Common Lisp.
- #lispcafe on Libera Chat - IRC channel for off-topic discussions.
May 31 - Jun 06, 2021
CLOS extensions
- polymorphic functions (⭐51) - 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.
- polymorphic-functions dispatch on the types of the arguments supplied to it. This helps dispatching on specialized arrays as well as user-defined types.
- for differences with specialization-store and fast-generic-functions, see its README.
Apr 19 - Apr 25, 2021
CLOS extensions
- slot-extra-options (⭐8) - lets you build a metaclass which in turn lets you specify extra slot options in its classes. LGPL3.
Community
- Qlot (⭐464) - A project-local library installer, similar to Bundler or Virtualenv. Expat.
- how to use it from the Lisp REPL (⭐9) without Roswell.
Apps / Third-party APIs
- cl-coveralls (⭐29) - a helper library to post test coverage to Coveralls. See SBCL's code coverage tool. FreeBSD.
Date and time / Third-party APIs
- local-time-duration (⭐17) -
Duration processing library built on top of local-time. MIT.
- see this fork: humanize-duration (⭐9), that outputs only significant parts of a duration object. Has localization suport.
Apr 12 - Apr 18, 2021
C, C++
- crypto-shortcuts (⭐23) - Collection of common crypto shortcuts. zlib.
Persistent object databases
- ubiquitous (⭐28) - A library providing easy-to-use persistent configuration storage. zlib.
Miscellaneous
- Trial (⭐1k) - Trial is an OpenGL game engine with a heavy focus on modularity. It is supposed to provide a large toolkit of useful bits and pieces from which you can create a game. zlib.
- the Kandria game is built with Trial.
- trivial-gamekit – 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.
- cl-gamepad - Access to gamepads and joysticks on Windows, Mac OS, and Linux. zlib.
- cl-mpg123 and cl-out123, bindings libraries for libmpg123 and libout123 respectively, giving you fast and easy to use mp3 decoding and cross-platform audio output. zlib.
- 👍 Qtools (⭐209) - A Qt toolkit, based on CommonQt. zlib Also Qtools-ui (⭐29) (premade UI components), with videos.
Mobile
- cl-all (⭐19) - A script to run Lisp snippets in multiple implementations. This allows you to quickly compare implementation behaviour and differences. zlib.
Portability layers
- trivial-arguments (⭐22) - A portable library to retrieve the arguments list of a function. zlib.
- definitions (⭐19) - 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.
- dissect - 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.
- ndebug (⭐9) - Framework for portable GUI (or any non-standard) debuggers, based on dissect and trivial-custom-debugger (⭐12). BSD.
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. zlib.
HTML generators and templates / Isomorphic web frameworks
Deployment / Isomorphic web frameworks
- 👍 deploy - A toolkit for binary deployment of Lisp applications, with extra support for foreign shared libraries. zlib.
Matrix libraries / Third-party APIs
- 3d-matrices - 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.
Event processing / Third-party APIs
- simple-tasks (⭐20) - A very simple task scheduling framework. zlib.
- deeds (⭐22) - Deeds is an Extensible Event Delivery System. It allows for efficient event delivery to multiple handlers with a complex event filtering system. zlib.
Apps / Third-party APIs
- Parachute (⭐103) - An extensible and cross-compatible testing framework. With test dependencies, conditions, fixtures and restarts. zlib.
Data validation / Third-party APIs
- ratify (⭐29) - A collection of utilities to ratify, validate and parse inputs. zlib.
Developer utilities / Third-party APIs
- trivial-benchmark (⭐39) - Tiny benchmarking library. zlib.
- a similar macro (
benchmark
) is part of trivial-time (⭐5), providing support for more implementations (ABCL, Allegro, CCL, CLISP, ECL). - Indeed, most trivial-benchmark's metrics are only implemented on SBCL. On other implementations, it measures real and user-space time (and not bytes allocated (it does for ECL), system run-time or GC run-time).
- a similar macro (
Documentation builders / Third-party APIs
- Staple (⭐60) - a tool to generate documentation pages using an HTML template. Uses the existing README, adds docstrings, crossreferences and links to the CLHS. zlib.
Files and directories / Third-party APIs
- pathname-utils (⭐14) - A collection of utilities to help with pathname operations. zlib.
- filesystem-utils (⭐14) - deal with common problems with filesystems, such as listing files, probing file types, determining default directories, etc.
- no dependencies, doesn't access the filesystem.
- file-attributes (⭐18) - access to common file attributes (uid, gid, permissions, ctime, mtime, atime).
Git / Third-party APIs
i18n / Third-party APIs
- oxenfurt (⭐14) - A client library for the Oxford dictionary API. zlib.
- language-codes - A database library for ISO language codes. zlib
- system-locale - A library to retrieve the user's preferred language, so that your application may choose a sensible default. zlib.
- multilang-documentation - Allows writing docstrings in multiple languages, for truly internationally documented libraries. zlib.
Logging / Third-party APIs
Apr 05 - Apr 11, 2021
C
- cl-cxx-jit (⭐62) - Common Lisp and C++ interoperation with JIT. MIT.
Shells, shells interfaces / Third-party APIs
- Lish (⭐110) -
lish
may someday be a lisp shell. GPL3.- supports tab-completion of executables in the path and Lisp symbols, allows to write and to mix shell commands and Lisp code, has a tiny REPL and an interactive debugger, and more.
Mar 29 - Apr 04, 2021
Mobile
- cl-json (⭐11) - A highly customizable JSON encoder and decoder. MIT.
- "cl-json and yason are still the work horses if you need fine control, but speed is not their forte." @sabracrolleton
Statistics / Third-party APIs
- 👍 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."
- https://lisp-stat.dev/
- inspired by Luke Tierney's XLisp-Stat (a predecessor of R), ships a compatibility library for it, otherwise builds on other and newer libraries.
Apps / Third-party APIs
- cl-mock (⭐19) - Another mocking library. It has more features than Mockingbird, like pattern matching on the mocked call, etc.
Mar 22 - Mar 28, 2021
Iteration
- doplus (⭐8) – another extensible iteration library, similar to :for.
Mar 15 - Mar 21, 2021
Developer utilities / Third-party APIs
- printv (⭐67) - A batteries-included tracing and debug-logging macro. Apache2.
Mar 08 - Mar 14, 2021
Files and directories / Third-party APIs
- fof - File-object finder Common Lisp library. Enable rapid file search, inspection and manipulation. GPL3.
Feb 22 - Feb 28, 2021
Monitoring / Isomorphic web frameworks
- rollbar.lisp (⭐2) - interface to Rollbar.com, an error tracking software.
Feb 08 - Feb 14, 2021
Web frameworks / Isomorphic web frameworks
- CLOG (⭐1.5k) - The Common Lisp Omnificent GUI. Uses web technology to produce graphical user interfaces for applications locally or remotely. BSD_3Clause.
- CLOG is based on the ideas of GNOGA, a framework the author wrote for Ada and used in commercial production code since 2013.
- Interactive SSR (⭐36) - ISSR allows you to make interactive web pages without writing client scripting. No knowledge about Javascript or DOM is necessary.
- it is not unlike Phoenix LiveView or Hotwire.
Emacs / Third-party APIs
- Emacs4CL (⭐379) - 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.
Jan 25 - Jan 31, 2021
Tools
- cl-docker-images - Docker images for ABCL, CCL, ECL, and SBCL on Windows (amd64) and Alpine and Debian (amd64, arm64, arm/v7) BSD_2Clause.
Jan 11 - Jan 17, 2021
Shells, shells interfaces / Third-party APIs
- cmd (⭐64) - utility for running external programs. Protects against shell interpolation, built with multi-threaded programs in mind, Windows support. MIT.
uiop:run-program
(synchronous) anduiop:launch-program
(async) are shipped with ASDF and available on all modern implementations. See the CL Cookbook: running external programs.
Jan 04 - Jan 10, 2021
Web Development
- Section on Web Development in The Common Lisp Cookbook - An introductory tutorial covering web server setup, routing, weblocks, templating, error handling, packaging, hot reloading, database connection, and deployment, amongst other topics in the current lisp web development ecosystem.
- Lisp for the Web - A book that walks you through building a voting web application in three tiers.
Others / Third-party APIs
- Vellum (⭐76) - Data Frames for Common Lisp. BSD_2Clause.
- rtg-math (⭐51) - 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.
Matrix libraries / Third-party APIs
- lisp-matrix (⭐71) - A matrix package. FreeBSD.
Utils / Third-party APIs
- cmu-infix (⭐35) - A library for writing infix mathematical notation in Common Lisp. See also polisher (⭐6).
Dec 21 - Dec 27, 2020
Tools
Community / Interfaces to other package managers
- flatpack-common-lisp - A BuildStream project for building Flatpak based runtime environments for Common Lisp applications.
Utils / Third-party APIs
- calispel (⭐31) - 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 (⭐2.6k)
Apps / Third-party APIs
- cl-phonetic (⭐24) - Phonetic pattern matching library for Common Lisp (intended to replace the Sylvia library for Python). MIT.
- cl-string-generator (⭐23) - Generate string from regular expression. MIT.
Plotting / Third-party APIs
- ADW-Charting - A simple chart drawing library written completely in Common Lisp. Also includes a backend to Google's chart service. BSD-like.
Dec 14 - Dec 20, 2020
VSCode / Third-party APIs
- commonlisp-vscode - an extension to support syntax highlight, auto completion, documentation on hover, go to definition, compile & load file, REPL. It is On GitHub (⭐35).
- strict-paredit-vscode - structural editing and navigation like Emacs.
Dec 07 - Dec 13, 2020
Developer utilities / Third-party APIs
- Lisp REPL core dumper - 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.
Nov 16 - Nov 22, 2020
Tools
- bitfield (⭐26) - Efficiently represent several finite sets or small integers as a single non-negative integer. MIT.
Clojure
- ABCLJ (⭐88) - dead easy Clojure to Common lisp interop. EPL-2.0.
Other books
- Building Problem Solvers (PDF) by Ken Forbus and Johan de Kleer, made available for free by MIT Press - a unique book among standard artificial intelligence texts in combining science and engineering, theory and craft to describe the construction of AI reasoning systems, and including code illustrating the ideas.
Nov 09 - Nov 15, 2020
Community / Interfaces to other package managers
- clml (⭐261) - originally developed by Mathematicl Systems Inc., a Japanese company. With a tutorial. LLGPL.
Nov 02 - Nov 08, 2020
Tools
- 👍 FSet - A functional, set-theoretic collections data structure library. LLGPL.
- an extension: jfon - an attempt at porting JZON (JSON parsing library) to FSet.
Lambda shorthands
- f-underscore - a tiny library of functional programming utils.
(f_ (+ _ _)) -> (lambda (_) (+ _ _))
. Public domain.
HTTP clients / Interfaces to other package managers
- 👍 Dexador (⭐377) - An HTTP client, that aims at replacing Drakma. MIT.
Units / Third-party APIs
- physical-quantities (⭐33) - a library that provides a numeric type with optional unit and/or uncertainty for computations with automatic error propagation. GPL2
Job processing / Third-party APIs
- cl-cron (⭐16) - A simple tool that provides cron like facilities. GPL3.
Apps / Third-party APIs
- parseq (⭐29) - a library for parsing sequences such as strings and lists using parsing expression grammars. Inspired by Esrap. GPL2.
Compression / decompression / Third-party APIs
- zippy (⭐14) - A ZIP archive format library based on 3bz. zlib.
PDF / Third-party APIs
- cl-pslib - a (thin) wrapper around the pslib library for generating PostScript files. Also cl-pslib-barcode. LLGPL.
Oct 26 - Nov 01, 2020
Miscellaneous
- cl-cuda (⭐279) - A library to use NVIDIA CUDA in Common Lisp programs. LLGPL.
- LispWork's CAPI - A portable GUI toolkit, with mobile runtime. Proprietary, but comes with a free version.
HTML generators and templates / Isomorphic web frameworks
- lsx (⭐79) and markup (⭐70) - Two JSX-like templating engines, where HTML tags are Common Lisp code.
markup
comes with an Emacs package.
Utils / Third-party APIs
- STMX (⭐243) - High performance Transactional Memory for Common Lisp. LLGPL.
REPLs / Third-party APIs
- sbcli (⭐92) - a readline REPL for SBCL. With completion, quick commands, optional syntax highlighting (with pygments), and no interactive debugger. GPL3.
Apps / Third-party APIs
Compression / decompression / Third-party APIs
- chipz (⭐17) - A decompression library. 3-clause BSD.
Developer utilities / Third-party APIs
- glyphs (⭐29) - A library for cutting down the verboseness of Common Lisp in places. GNU GPL3.
Oct 19 - Oct 25, 2020
Miscellaneous
- cl-liballegro (⭐55) - Interface and bindings to the Allegro 5 game programming library. zlib.
Oct 12 - Oct 18, 2020
C, C++
- with-c-syntax (⭐141) - a fun package which introduces the C language syntax into Common Lisp. (Yes, this package is not for practical coding, I think.) WTFPL Licence.
Function extensions
- cl-advice (⭐1) - an attempt of portable layer advice library for SBCL, CCL, LispWorks and Allegro. Not in Quicklisp.
HTTP Servers / Interfaces to other package managers
- 👍Clack (⭐1.1k) - A web application environment inspired by Rack and WSGI. LLGPL. Provides a unified interface to a webserver of choice (default is Hunchentoot). With more getting started guide.
Oct 05 - Oct 11, 2020
Wrappers
- cl-mango (⭐1) - A minimalist CouchDB 2.x database client. BSD_3Clause.
Iteration
- trivial-do (⭐18) - Additional dolist style macros for Common Lisp. MIT.
- picl (⭐17) - An (almost) complete port of Python's itertools package, complete with laziness where applicable, and not relying on cl-cont. MIT.
Sep 21 - Sep 27, 2020
APL
- April (⭐602) - The APL programming language (a subset thereof) compiling to Common Lisp. Replace hundreds of lines of number-crunching code with a single line of APL. Apache2.
Iteration
- snakes (⭐46) - Python style generators for Common Lisp. Includes a port of itertools. Apache2.
Non-deterministic, logic programming
- Temperance (⭐58) - logic programming. MIT. A focus on performance, with General Game Playing in mind.
Community / Interfaces to other package managers
- 🚀 sparser (⭐57) - A natural language understanding system for English. Eclipse.
a model-driven, rule-based language text analysis system for large volume, high-precision information extraction. At its heart, Sparser is a bottom-up, phrase-structure-based chart parser, optimized for semantic grammars and partial parsing.
HTTP Servers / Hunchentoot plugins
- 👍 easy-routes (⭐58) - 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.
Job processing / Third-party APIs
- one-more-re-nightmare (⭐138) - a fast-ish regular expression compiler in Common Lisp. BSD_2Clause.
Shells, shells interfaces / Third-party APIs
- Clesh (⭐69) - extends Common Lisp to embed shell code in a manner similar to perl's backtick. FreeBSD.
Apps / Third-party APIs
- cl-yacc (⭐57) - a LALR(1) parser generator. MIT.
- cl-shlex (⭐8) - simple lexical analyzer for shell-like syntaxes. MIT.
- smug (⭐108) - parser combinators for Common Lisp. SMUG makes it simple to create quick extensible recursive descent parsers without funky syntax or impenetrable macrology. MIT.
i18n / Third-party APIs
- gettext (⭐12) - a port of the gettext runtime to Common Lisp. GPL3.
Linting, code formatting / Third-party APIs
- sblint (⭐121) - a linter for Common Lisp source code using SBCL, suited for Reviewdog (slides). BSD_2Clause.
- trivial-formatter (⭐38) - code formatter for Common Lisp. MIT.
Sep 14 - Sep 20, 2020
C, C++
- ecrepl - an interactive REPL for the C language. BSD_2Clause.
- cl-ssh-keys (⭐23) - Common Lisp system for generating and parsing of OpenSSH keys. BSD_3Clause.
- cl-bcrypt (⭐13) - Common Lisp system for parsing and generating bcrypt password hashes. BSD_3Clause.
- see also cl-pass (⭐30), using pbkdf2.
Python
- burgled-batteries (⭐113) - A bridge between Python and Common Lisp. The goal is that Lisp programs can use Python libraries. Not available on Quicklisp. MIT.
Deployment / Isomorphic web frameworks
- cube (⭐36) - Kubernetes client library for Common LISP generated from the Swagger specification. MIT.
Utils / Third-party APIs
- Moira (⭐29) - Monitor and restart background threads. In-lisp process supervisor. MIT.
Data validation / Third-party APIs
- json-schema (⭐17) - A library for validating data against schemas of drafts 4, 6, 7, and 2019-09 of the JSON Schema standard. LLGPL.
Aug 24 - Aug 30, 2020
Graph databases
- cl-agraph (⭐26), a minimal client for AllegroGraph.
Mobile
- cl-json-pointer (⭐12) - A JSON Pointer implementation. MIT.
Aug 10 - Aug 16, 2020
Sublime Text / Third-party APIs
- Sublime Text (proprietary) has Common Lisp support with its SublimeREPL and Slyblime (⭐45) packages. Slyblime is an implementation of SLY and it uses the same backend (SLYNK). It ships advanced features including a debugger with stack frame inspection.
Aug 03 - Aug 09, 2020
Community
- /r/learnlisp - a subreddit to ask questions and get help about Lisp
Jul 20 - Jul 26, 2020
Community / Interfaces to other package managers
- linux-packaging - build .deb, .rpm or .pkg packages for your application with a single ASDF declaration. Uses fpm under the hood. MIT.
- cl-brewer (⭐13) - Homebrew formula builder for (command line) common lisp applications. Public domain.
HTTP Servers / Hunchentoot plugins
- hunchentoot-errors (⭐10) - Augments Hunchentoot error pages and logs with request and session information. MIT.
Logging / Third-party APIs
- ⭐ log4cl (⭐83) - Logging framework modelled after Log4J. Apache2.0. Advanced integration with Slime.
- log4cl-json (⭐2) - JSON appender extension. BSD.
Jul 13 - Jul 19, 2020
Graph databases
- vivace-graph (⭐154) - 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.
- "I have used Vivace Graph as an online catalog for millions of products, as the back end for a complex, adaptable VoIP-based IVR, as well as data store for several complex big data analysis systems, and finally as the engine for two recommender systems." (issue #23)
- "Why is vivace graph so fast? I have been comparing it with SQL-based approach and Neo4j, and vivace graph is much, much faster."
Web Development
- Lisp Web Tales - Simple tutorials using hunchentoot, cl-redis (⭐189), restas (⭐259), SEXML (⭐23), Postmodern (⭐398), and more.
Plotting / Third-party APIs
- kai (⭐86) - A high-level plotter library for Common Lisp. A wrapper around the Plotly JS library. MIT.
- cl-spark (⭐95) - sparkline strings for the console:
(spark '(1 1 2 3 5 8))
=> "▁▁▂▃▅▇". MIT.
Jul 06 - Jul 12, 2020
CLOS extensions
- dynamic-mixins (⭐31) - simple, dynamic class combination. BSD_2Clause.
Geany (experimental) / Third-party APIs
- Geany-lisp (⭐14) is an experimental lisp mode for the Geany editor.
Jun 29 - Jul 05, 2020
Intermediate
- Lisp Tips (⭐121) - A blog with useful tips and tricks.
- Lisp project of the day - A blog showcasing many Lisp libraries.
May 11 - May 17, 2020
ORMs
- cl-dbi (⭐205) - A database-independent interface for Common Lisp. LLGPL.
- dbd-oracle (⭐4) - an Oracle database driver for CL-DBI. LLGPL.
CLOS extensions
- fast-generic-functions (⭐93) - Seal your generic functions for an extra boost in performance. MIT.
Beginner
- Lisp Koans (⭐3.1k) - The project guides the learner progressively through many Common Lisp language features.
Macro helpers / Third-party APIs
- trivial-with-current-source-from (⭐36) - Helps macro writers produce better errors for macro users. GPL3.
May 04 - May 10, 2020
Migration tools
- cl-migratum (⭐45) - a system which provides facilities for performing database schema migrations, designed to work with various databases. BSD_3Clause.
- postmodern-passenger-pigeon (⭐9) - a migration manager for postmodern. No licence specified.
Web frameworks / Clack plugins
- cl-rest-server (⭐67) - a library for writing REST web APIs. Features validation with schemas, annotations for logging, caching, permissions or authentication, documentation via Swagger, etc. MIT.
Others / OpenAPI, OData, OpenRPC
- cl-odata-client (⭐5) - Common Lisp client library for accessing OData services. MIT.
Apr 27 - May 03, 2020
Job processing / Third-party APIs
- SBCL's timers, system-wide event schedulers.
Apr 20 - Apr 26, 2020
HTML generators and templates / Isomorphic web frameworks
Readline, ncurses and other graphical helpers / Third-party APIs
- replic (⭐33) - 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.
- cl-ansi-term (⭐28) - print colorized text, horizontal lines, progress bars, (un)ordered lists and tables on ANSI-compliant terminals. GPL3.
Shells, shells interfaces / Third-party APIs
- Shelly (⭐63) - execute Common Lisp functions like a shell command, without the need to write a command line arguments parser. And it also can be used as a Make-like build-tool. FreeBSD.
Other scripting utilities / Third-party APIs
- clawk (⭐48) - an AWK implementation embedded into Common Lisp, to search files for lines and perform specified actions on its fields. BSD-style.
Date and time / Third-party APIs
- periods (⭐30) - manipulating date/time objects at a higher level. With series-compatible data structure. BSD_3Clause.
- with some documentation
Mar 23 - Mar 29, 2020
Erlang
- CLERIC (⭐33) - a Common Lisp Erlang Interface. An implementation of the Erlang distribution protocol, comparable with erl_interface and jinterface. MIT.
Apps / Third-party APIs
- CodePlayground - an iPhone and iPad app with Lisp support via CCL.
Developer utilities / Third-party APIs
- GTFL - A graphical terminal for Lisp, meant for Lisp programmers who want to debug or visualize their own algorithms. A graphical trace in the browser. BSD-style.
Mar 16 - Mar 22, 2020
Community
- Common Lisp chat - Keybase team with well-defined rules and retention policies.
Vim & Neovim / Third-party APIs
- Vlime (⭐441) - VLIME: Vim plus Lisp Is Mostly Evil. A Common Lisp dev environment for Vim (and Neovim). MIT.
Mar 09 - Mar 15, 2020
Deployment / Isomorphic web frameworks
- s2i-lisp (⭐29) - 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
Others / Third-party APIs
- Petalisp (⭐474) - 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.
Matrix libraries / Third-party APIs
- clem (⭐37) - a matrix library. BSD_2Clause.
REPLs / Third-party APIs
- magic-ed (⭐24) - 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.
Developer utilities / Third-party APIs
- supertrace (⭐31) - Superior Common Lisp
trace
functionality for debugging/profiling. Trace many functions at once, use before and after hooks. BSD_2Clause.
Security / Third-party APIs
- cl-isolated (⭐39) - A restricted environment for Common Lisp code evaluation AGPL-3.0.
Feb 24 - Mar 01, 2020
Monitoring / Isomorphic web frameworks
- cl-sentry-client (⭐23) - a Sentry client for Common Lisp, the cloud-based error monitoring system. MIT.
Feb 17 - Feb 23, 2020
C, C++
- Software-Evolution-Library (⭐166) - The SEL enables the programmatic modification and evaluation of software (C/C++ support using Clang, compiled assembler, and linked ELF binaries). GPL3.
C
- cl-bindgen (⭐26) - A command line tool and library for creating Common Lisp language bindings from C header files. MIT.
Miscellaneous
- cl-jpeg (⭐23) - Baseline JPEG encoder and decoder library. 3-clause BSD.
Developer utilities / Third-party APIs
- flight-recorder (⭐13) - a robust REPL history facility.
- cl-flamegraph (⭐72) - A wrapper around SBCL's statistical profiler, to generate FlameGraph charts for Common Lisp programs. BSD.
Feb 10 - Feb 16, 2020
Tools
- cl-competitive (⭐179) - Common Lisp algorithms collection for competitive programming. Public domain, CCO or MIT.
Iteration
- gmap (⭐16) - 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.
Typing
- defstar - a collection of macros for easy inclusion of type declarations for arguments in lambda lists. GNU GPL3
Others / Third-party APIs
- array-operations (⭐43) - a collection of functions and macros for manipulating Common Lisp arrays and performing numerical calculations with them. MIT.
- cl-geometry (⭐48) - a system for two dimensional computational geometry for Common Lisp. MIT.
Readline, ncurses and other graphical helpers / Third-party APIs
Developer utilities / Third-party APIs
- tracer (⭐53) - tracing profiler for Common Lisp, with output suitable for display in Chrome’s/Chromium’s Tracing Viewer. MIT.
Jan 27 - Feb 02, 2020
C
- cl-gobject-introspection (⭐50) - Gobject Introspection FFI. Automatic bindings to call into the C library. BSD. Generate a lisp interface with gir2cl (⭐7). LGPL3.
Jan 13 - Jan 19, 2020
Tools
- base-lisp-image (⭐36) - base Docker image for Common Lisp projects with SBCL or CCL and the latest ASDF, Qlot and Roswell.
Online editors / Third-party APIs
- Judge0 IDE is an online editor which supports Common Lisp (SBCL). MIT.
Jan 06 - Jan 12, 2020
Tools
- hash-set (⭐17) - a convenience library implementing hash sets on top of CL hash tables The Unlicense
- cl-containers - an extensive library of data structures and utilities - queues, trees, heaps, doubly-linked lists, sets, bags,... MIT
Dec 16 - Dec 22, 2019
Miscellaneous
- IUP (⭐139) - CFFI bindings to the IUP 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.
- has a web view.
Mobile
- rutils (⭐252) - radical yet reasonable syntactic utilities for Common Lisp. MIT.
Dec 02 - Dec 08, 2019
C, C++
- cl-yesql (⭐67) - 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.
Nov 25 - Dec 01, 2019
Tools
- 👍 str (⭐309) - a modern, simple and consistent string manipulation library. MIT.
- trivial-extensible-sequences (⭐12) - Portability library for the extensible sequences protocol (SBCL documentation). zlib.
- listopia (⭐31) - a list manipulation library inspired by Haskell's Data.List. LLGPL.
- 👍 access (⭐85) - Consistent and nested access to most common data structures. BSD_3Clause.
- modf (⭐63) - a setf-like macro for functional programming.
Mobile
- generic-cl (⭐143) - Generic function interface to standard Common Lisp functions (equality, comparison, arithmetic, objects, iterator, sequences,…). MIT.
- see also the more lightweight equals (⭐9) MIT.
Changing the syntax
- cl-annot (⭐128) - Python-like annotations for Common Lisp. LLGPL.
- cl-annot-revisit (⭐7) - re-implementation of cl-annot. WTFPL.
- cl-syntax (⭐39) - Reader syntax conventions. LLGPL.
- cl-reader (⭐13) - A utility library intended at providing reader macros for lambdas, mapping, accessors, hash-tables and hash-sets. MIT.
Files and directories / Third-party APIs
- mmap (⭐33) - Portable mmap file memory mapping utility library. zlib.
Nov 18 - Nov 24, 2019
Community
- Planet Lisp - A meta blog that collects the contents of various Lisp-related blogs.
Nov 04 - Nov 10, 2019
CLOS extensions
- filtered-functions (⭐43) - enable the use of arbitrary predicates for selecting and applying methods. MIT.
Oct 21 - Oct 27, 2019
Persistent object databases
- cl-prevalence - 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 (⭐30). LLGPL.
- See also cl-prevalence-multimaster (⭐5), to syncronize multiple cl-prevalence systems state.
HTTP clients / Interfaces to other package managers
- fast-http (⭐343) - A fast HTTP request/response parser for Common Lisp. MIT.
HTTP Servers / Interfaces to other package managers
- zaserve (⭐7) - A portable fork of AllegroServe, by Franz Inc. LLGPL.
- cl-http2-protocol (⭐105) - a pure Common Lisp transport agnostic implementation of the HTTP/2 protocol at draft-14. MIT.
HTTP Servers / Hunchentoot plugins
- hunchentoot-cgi (⭐5) - a library for executing CGI scripts from the hunchentoot webserver. BSD.
- hunchentoot-multi-acceptor (⭐7) - Route multiple domains (virtual hosts) on a single hunchentoot acceptor using a single port. Apache2.0.
Javascript / Isomorphic web frameworks
- ⭐ Parenscript - A translator from Common Lisp to Javascript. 3-clause BSD. See Trident-mode (⭐76), an Emacs mode that provides live interaction with the browser.unlicence.
- paren6 (⭐29) - a set of ES6 macros for Parenscript.
- paren-async (⭐3) async/await for Parenscript.
- paren-jquery (⭐2) - Jquery-style macros for Parenscript. MIT.
Others / Third-party APIs
- avm (⭐53) - Efficient and expressive arrayed vector math library with multi-threading and CUDA support. MIT.
Utils / Third-party APIs
- cl-coroutine (⭐64) - a coroutine library. It uses the CL-CONT continuations library in its implementation. MIT.
Actors pattern / Third-party APIs
- Actors (⭐12) package for LispWorks (announce) MIT.
Oct 14 - Oct 20, 2019
Javascript / Isomorphic web frameworks
- remote-js (⭐34) - send JavaScript from Common Lisp to a browser. MIT.
Sep 30 - Oct 06, 2019
Community / Interfaces to other package managers
- dh-quicklisp-buildapp (⭐7) - debhelper utility to let you compile your quicklisp-based Common Lisp code into a buildapp binary in a .deb with almost no effort. MIT.
Sep 23 - Sep 29, 2019
Function extensions
- cl-hooks (⭐17) - Hooks extension point mechanism (as known, e.g., from GNU Emacs). LGPL.
- method-hooks - When CLOS method combination allow only one hook per method, this library allows an arbitrary number of them. Mozilla Public Licence.
Typing
- 👍 trivial-types (⭐66) - provides missing but important type definitions such as
proper-list
,association-list
,property-list
andtuple
. LLGPL.
Aug 26 - Sep 01, 2019
CLOS extensions
- inlined-generic-function (⭐108) - Bringing the speed of Static Dispatch to CLOS. LLGPL.
- static-dispatch (⭐79) - 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.
Reference
- Common Lisp Standard Draft (pdf) - The standard draft of the Common Lisp specifications, in a well formatted PDF with a sidebar.
- also dpans2texi (⭐7) - the standard draft converted to Texinfo and published as a well formatted PDF.
Others / Third-party APIs
- linear-programming – a library for solving linear programming problems. MIT.
Configuration / Third-party APIs
- chameleon (⭐17) - a configuration management library shipped with profile support. MIT.
Logging / Third-party APIs
- a-cl-logger (⭐12) - 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,…
Other / Third-party APIs
- trivial-utf8 - A small library for doing UTF-8-based I/O. BSD.
Aug 12 - Aug 18, 2019
Mobile
- LispWorks - an integrated cross-platform development tool for Common Lisp.
- reputed features include: the CAPI cross-platform and native GUI toolkit, the LispWorks IDE, the mobile platforme runtime (iOs, Android), its Java interface, the tree shaker to build lighter binaries, its KnowledgeWorks system for "rule-based, object-oriented, logical, functional and database programming", and more.
- has a free edition, with limitations (heap size limit, time limit).
Deployment / Isomorphic web frameworks
- Heliohost for a free hosting solution.
Aug 05 - Aug 11, 2019
Utils / Third-party APIs
- swank-crew (⭐43) - distributed computation framework implemented using Swank Client. BSD_3Clause.
Jul 22 - Jul 28, 2019
Lambda shorthands
- cl-punch (⭐24) - Scala-like anonymous lambda literals.
(mapcar ^(* 2 _) '(1 2 3 4 5))
. MIT.
Jul 15 - Jul 21, 2019
CLOS extensions
- specialization-store (⭐30) - generic functions based on types. Simplified BSD License variant.
Data validation / Third-party APIs
- sanity-clause (⭐51) - 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.
Jul 08 - Jul 14, 2019
Community
Jun 24 - Jun 30, 2019
.Net Core
- Bike (⭐144) - a cross-platform .Net Core interface. MIT.
Miscellaneous
Community / Interfaces to other package managers
- babel2 (⭐6) - A Fluid Construction Grammar implementation, computational framework, and unification-based grammar formalism Apache2.0.
Other scripting utilities / Third-party APIs
- WCL (⭐79) [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".
Developer utilities / Third-party APIs
- repl-utilities (⭐48) - Ease common tasks at the REPL (print documentation, print external symbols, call hooks when loading a package,…). BSD_2Clause.
May 27 - Jun 02, 2019
Python
- cl4py (⭐94) - The library cl4py (pronounce as clappy) allows Python programs to call Common Lisp libraries. MIT.
- py4cl (⭐233) - A library that allows Common Lisp code to access Python libraries. It is basically the inverse of cl4py. MIT.
- its fork py4cl2 (⭐41), at first less stable, now more developped and faster.
- py4cl2-cffi (⭐43) - CFFI based alternative to py4cl2.
- "When capable, the CFFI approach can be a 50 times faster than py4cl2."
- cl-python (⭐368) - an implementation of Python in Common Lisp. LLGPL, not under active development.
Utils / Third-party APIs
- cl-gearman (⭐22) - a library for the Gearman (⭐740) distributed job system. LLGPL.
May 20 - May 26, 2019
Miscellaneous
- bodge-nuklear (⭐62) - Wrapper over the Nuklear (⭐9.3k) immediate mode GUI library. MIT.
Others / Third-party APIs
- numcl (⭐639) - Numpy clone in Common Lisp. LGPL3.
- cl-ana (⭐197) - 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.
Apr 22 - Apr 28, 2019
CSV / Third-party APIs
- auto-text (⭐10) - automatic (encoding, end of line, column width, csv delimiter etc) detection for text files. MIT. See also inquisitor (⭐34) for detection of asian and far eastern languages.
Apr 15 - Apr 21, 2019
Atom, Pulsar / Third-party APIs
- SLIMA (⭐62) allows you to interactively develop Common Lisp code, turning Atom (or now Pulsar) into a pretty good, and actively developped, Lisp IDE. MIT.
Mar 18 - Mar 24, 2019
Utils / Third-party APIs
- trivial-monitored-thread - a Common Lisp library offering a way of spawning threads and being informed when one any of them crash and die. MIT.
Mar 04 - Mar 10, 2019
Miscellaneous
- eql, eql5, eql5-android - Embedded Qt4 and Qt5 Lisp, embedded in ECL, embeddable in Qt. Port of EQL5 to the Android platform. MIT.
Community
- Ultralisp - A Quicklisp distribution which updates every 5 minutes and to which one can add his project in one click. BSD.
Deployment / Isomorphic web frameworks
- cl-aws-runtime-test (⭐38) - An example of using Common Lisp (SBCL) as a custom runtime on AWS lambda. WTFPL.
Feb 25 - Mar 03, 2019
Tools
- cl-data-structures (⭐46) - a portable collection of data structures and algorithms (mainly dicts and sequences, with some statistical functions). BSD.
Feb 18 - Feb 24, 2019
PDF / Third-party APIs
- cl-typesetting (⭐69) and cl-pdf (⭐115) - cross-platform Common Lisp libraries for generating PDF files. FreeBSD.
Feb 04 - Feb 10, 2019
Tools
- cl-ctrie (⭐119) - lock-free, concurrent, key/value index with efficient memory-mapped persistence and fast transient storage models. MIT.
Javascript / Isomorphic web frameworks
- trident-mode (⭐76), an Emacs minor mode for live Parenscript interaction.
Monitoring / Isomorphic web frameworks
- prometheus.cl (⭐83) - Prometheus.io client. Grafana dashboard for SBCL and Hunchentoot metrics (memory, threads, requests per second,…). MIT.
- prometheus-g (⭐4) - Extension for prometheus.cl which collects metrics about garbage collector state.
Jan 21 - Jan 27, 2019
Date and time / Third-party APIs
- iso-8601-date - Miscellaneous date routines in Common Lisp, based around the ISO 8601 string representation. LLGPL.
Dec 17 - Dec 23, 2018
Lambda shorthands
- fn (⭐25) - a couple of lambda shorthand macros.
(fn* (+ _ _)) --> (lambda (_) (+ _ _))
. Public domain.
HTTP clients / Interfaces to other package managers
- Carrier (⭐40) - A lightweight, async HTTP client built on top of cl-async and fast-http. MIT.
Others / Third-party APIs
- Xecto (⭐42) - A library for regular array parallelism. 3-clause BSD.
Event processing / Third-party APIs
- event-glue (⭐20) - simple eventing abstraction. No dependencies. It can be used anywhere you need a generic event handling system. MIT.
Vim & Neovim / Third-party APIs
- quicklisp.nvim - A Quicklisp frontend for Neovim.
Eclipse / Third-party APIs
- Dandelion (⭐35) - a Common Lisp plugin for the Eclipse IDE.
Dec 10 - Dec 16, 2018
Vim & Neovim / Third-party APIs
- Slimv_box (⭐13) - slimv in a Docker container.
Nov 12 - Nov 18, 2018
Community
- /r/Common_Lisp - subreddit about Common Lisp
Nov 05 - Nov 11, 2018
HTTP Servers / Clack plugins
- clack-static-asset-middleware (⭐1) - a cache-busting static asset middleware for the clack. MIT.
Oct 29 - Nov 04, 2018
Wrappers
- cl-sqlite (⭐72) - Bindings for SQLite. Public domain.
- cl-memcached (⭐21) - Fast, thread-safe interface to the Memcached object caching system. Expat.
- cl-redis (⭐189) - Redis client. Expat.
- cl-disque (⭐13) - Disque client. 3-clause BSD.
- cl-rethinkdb (⭐47) - RethinkDB client. Expat.
Tools
- ⭐ pgloader (⭐5.4k) - a data loading tool for PostgreSQL. PostgreSQL Licence.
- obligatory blog post: Why is pgloader so much faster? (hint: it was re-written from Python to Common Lisp)
C
- 👍cl-autowrap (⭐215) - Automatically parses header files into CFFI definitions. FreeBSD.
Miscellaneous
- common-cv (⭐60) - the OpenCV (Open Source Computer Vision Library) binding library for CommonLisp. No license specified.
Mobile
- ECL - Embeddable Common Lisp; compiles to C. GNU LGPL2.1.
- eclweb (⭐15) is a proof-of-concept REPL inside a browser using Web Assembly (WASM).
- CLASP (⭐2.6k) - 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 (and others).
- Allegro CL - provides the full ANSI Common Lisp standard with many extensions.
- reputed features include: the AllegroCache object persistence database system, the KnowledgeGraph system, its concurrent garbage collector, its web-based IDE, and more.
- has a free edition. It includes AllegroCache, with a size limit.
Community
- Roswell (⭐1.8k) - a Lisp implementation installer, script launcher and more. MIT.
HTML generators and templates / Isomorphic web frameworks
- 👍 spinneret (⭐370) - Common Lisp HTML5 generator. Expat.
Utils / Third-party APIs
- lfarm (⭐105) - distributing work across machines (on top of lparallel and usocket). BSD_3Clause
Emacs / Third-party APIs
- 👍 Sly (⭐1.3k) - SLY is a fork of SLIME and contains multiple improvements upon it, such as Sly stickers.
- 👍 Portacle - A portable and multiplatform Common Lisp environment: SBCL, Quicklisp, Emacs, Slime, Git.
Configuration / Third-party APIs
- 👍 py-configparser - reads and writes Python's ConfigParser-like configuration files. MIT.
Other / Third-party APIs
- as such, the libraries we like best are marked with a 👍 (
1F44D
unicode character). See also the signs' explanation in the introduction.
Oct 22 - Oct 28, 2018
Non-deterministic, logic programming
- Screamer (⭐227) - augment Common Lisp with practically all of the functionality of both Prolog and constraint logic programming languages. Blog post solving Project Euler puzzles. MIT.
- Screamer+ (⭐7) - increasing the expressiveness of SCREAMER. MIT.
Data validation / Third-party APIs
- clavier (⭐19) - General purpose validation library for Common Lisp. MIT.
Oct 08 - Oct 14, 2018
Mobile
- cl-yacclyaml (⭐15) - a pure lisp YAML processor (loader, but not yet dumper). GPL3.
Community
- print-licenses (⭐20) - print licenses used by a project and its dependencies. MIT.
CSV / Third-party APIs
- cl-decimals (⭐21) - Decimal number parser and formatter. Public domain.
i18n / Third-party APIs
- cl-i18n - an i18n library. Load translations from GNU gettext text or binary files or from its native format. Localisation helpers of plural forms. LLGPL.
Sep 24 - Sep 30, 2018
Readline, ncurses and other graphical helpers / Third-party APIs
- cl-progress-bar (⭐19) - progress bars, just like in Quicklisp ! MIT.
- and progressons (⭐13), a progress bar on one line, for real an dumb terminals. MIT.
Other / Third-party APIs
- by default, add a library to the end of its section.
- two libraries very similar in scope should be side by side, or in a section of their own.
- do some curation based on your experience and the state of the library's documentation. We do not aim at listing every existing CL library (see Cliki for that) nor to list every "popular" library (see Quicklisp stats).
Aug 20 - Aug 26, 2018
Reactive programming
- Cells (⭐211) - an implementation of the dataflow programming paradigm, reactive spreadsheet-like expressiveness for CLOS. Used to build an algebra learning system. With documentation (⭐19). Lisp LGPL.
Contract programming
- quid-pro-quo (⭐94) - a contract programming library in the style of Eiffel’s Design by Contract ™. Public domain.
Beginner
- Learn X in Y minutes - Where X = Common Lisp - Small Common Lisp tutorial covering the essentials.
- Successful Lisp - A good book for beginners with some programming background.
Job processing / Third-party APIs
- clerk (⭐19) - a cron-like scheduler with sane DSL. MIT.
Aug 06 - Aug 12, 2018
Miscellaneous
- okra - CFFI bindings to Ogre. Not available on Quicklisp. 3-clause BSD.
- CocoaInterface (⭐32) - 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 (⭐32).
Jul 16 - Jul 22, 2018
HTML generators and templates / Isomorphic web frameworks
- cl-closure-template (⭐71) - Implementation of Google's Closure templates, where compiling a template creates a function that generates the result. LLGPL.
Jul 09 - Jul 15, 2018
Miscellaneous
- lisp-magick-wand (⭐15) - ImageMagick bindings. BSD. Not in Quicklisp.
HTTP Servers / Clack plugins
- live-reload (⭐8) - Live reload prototype for clack. LLGPL.
i18n / Third-party APIs
- enchant (⭐17) - bindings for the Enchant spell-checker library. Public domain.
Jun 04 - Jun 10, 2018
Mobile
- json-mop (⭐61) - A metaclass for bridging CLOS and JSON objects. MIT.
- depends on YASON
- for JSON libraries that don't do it natively (jzon, shasht and cl-json are able to encode CLOS objects to JSON out of the box, and cl-json has the ability to decode JSON objects into a "fluid-class" CLOS object.)
- arrow-macros (⭐124) - Clojure-like threading macros. MIT.
Non-deterministic, logic programming
- cl-prolog2 (⭐31) - Common Interface to ISO Prolog implementations from Common Lisp. MIT.
May 21 - May 27, 2018
Date and time / Third-party APIs
- cl-date-time-parser (⭐18) - 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.
Apr 30 - May 06, 2018
Apps / Third-party APIs
- wiki-lang-detect (⭐31) - Text language identification using Wikipedia data. No license specified.
Apr 02 - Apr 08, 2018
Event processing / Third-party APIs
- cl-flow (⭐50) - Data-flowish computation tree library for non-blocking concurrent Common Lisp. MIT.
Mar 12 - Mar 18, 2018
Others / Email
- Postmaster (⭐10) - A simple, easy-to-use SMTP/IMAP library. Expat.
Feb 12 - Feb 18, 2018
Miscellaneous
- cl-svg (⭐42) - A basic library for producing SVG files. Expat.
- Varjo (⭐222) - Lisp to GLSL translator. BSD_2Clause.
Feb 05 - Feb 11, 2018
Miscellaneous
- dufy (⭐44) - exact color manipulation and conversion in various color models. MIT.
Jan 22 - Jan 28, 2018
Reference
- Minispec - A friendlier, but less-complete, version of CLHS. Also contains documentation for some commonly-used CL libraries (such as Alexandria).
Job processing / Third-party APIs
- psychiq (⭐53) - redis-based background job processing for Common Lisp applications. Inspired by Ruby's Sidekiq and compatible with its web UI. LLGPL.
Logging / Third-party APIs
- cl-fluent-logger (⭐9) - A Common Lisp structured logger for Fluentd.
Jan 15 - Jan 21, 2018
To third parties
- cl-influxdb (⭐23) - an interface to the Time Series Database InfluxDB. MIT.
Miscellaneous
- opticl (⭐182) - a library for representing and processing images. BSD_2Clause.
Readline, ncurses and other graphical helpers / Third-party APIs
- cl-charms (⭐158) - an
interface to
libcurses
in Common Lisp. It provides both a raw, low-level interface to libcurses via CFFI, and a more higher-level lispier interface. MIT.
Apps / Third-party APIs
- lake (⭐89) - a GNU make like build utility. MIT.
Jan 08 - Jan 14, 2018
C, C++
- cmacro (⭐885) - Lisp macros for C. MIT.
- C-mera (⭐404) - a source-to-source compiler that utilizes Lisp's macro system for meta programming of C-like languages. GPL3.
- lispc (⭐536) - a powerful "lispsy" macrolanguage for C. MIT.
To third parties
- dyna (⭐22) - an AWS DynamoDB ORM. MIT.
Tools
- sycamore (⭐118) - a fast, purely functional data structure library. BSD_3Clause.
- comparison: FSet vs. Sycamore
Objective-C
- objc-lisp-bridge (⭐43) - A portable reader and bridge for interacting with Objective-C and Cocoa. MIT.
Miscellaneous
- cl-webkit (⭐52) - A binding to WebKitGTK+. Also adds web browsing capabilities to an application, leveraging the full power of the WebKit browsing engine. MIT.
Beginner
- Casting SPELs in LISP - A fun way to learn LISP while reading a comic book.
Reference
- Simplified Common Lisp reference - The simplified version of CLHS.
Emacs / Third-party APIs
- cl-devel2 - a Docker container for Common Lisp development environment. Ships SBCL, CCL, Roswell and Emacs25 with Slime.
Jan 01 - Jan 07, 2018
C, C++
- cl-monero-tools (⭐19) - Common Lisp toolbox to work with the Monero cryptocurrency. GPL3. Not in Quicklisp.
- peercoin-blockchain-parser (⭐4) - 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.
- peercoin-calculator (⭐2) - 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. Not in Quicklisp.
- peercoin-vote (⭐5) - A voting system based on data from the blockchain (addresses and balances). GPL3. Not in Quicklisp.
Mobile
- 👍 serapeum (⭐426) - Another general-purpose utility library. Expat.
- anaphora - A collection of anaphoric macros. Public domain.
Reference
- CLOS MOP specification - A modern public domain online version of chapters 5 and 6 of The Art of the Metaobject Protocol
- Common Lisp the Language - The original standard for Common Lisp before the ANSI spec.
Community / Interfaces to other package managers
- qldeb (⭐5) - Quicklisp systems to debian packages, along with deb-packager (⭐4) (simply create a debian package by defining an s-expression) and an introductory blog post. Both MIT.
- ql-to-deb (⭐23) - Update cl-* debian packages from Quicklisp releases. WTFPL.
Date and time / Third-party APIs
- chronicity (⭐67) - A natural language date and time parse, to parse strings like "3 days from now". BSD_3Clause.
Files and directories / Third-party APIs
- ⭐ uiop and its
pathname
package (replaces cl-fad). uiop is part of ASDF3 and as thus is shipped in many implementations. MIT.
- osicat - A lightweight operating system interface on POSIX-like systems (directory iteration and deletion, environment variables, file permissions, etc) Expat.
Dec 25 - Dec 31, 2017
HTTP Servers / Clack plugins
- hermetic (⭐43) - Security for Clack-based web applications. Expat.
Dec 11 - Dec 17, 2017
Web frameworks / Clack plugins
- ningle (⭐276) - A super-micro web framework. LLGPL.
- jingle (⭐48) - based on ningle, adds bells and whistles, such as middlewares.
- includes an OpenAPI and Swagger UI demo.
- jingle (⭐48) - based on ningle, adds bells and whistles, such as middlewares.
Other / Third-party APIs
- corona (⭐50) - Create and manage virtual machines from Common Lisp http://eudoxia.me/corona MIT.
Dec 04 - Dec 10, 2017
Community / Interfaces to other package managers
- antik - a foundation for scientific and engineering computation in Common Lisp. GPL. Also mgl-mat (⭐69) and LLA (⭐90).
Nov 27 - Dec 03, 2017
HTTP Servers / Clack plugins
- clack-errors (⭐27) - Error page middleware for Clack. LLGPL.
Nov 20 - Nov 26, 2017
Miscellaneous
- McCLIM - An implementation of the Common Lisp Interface Manager, version II. GNU LGPL2.1.
Beginner
- Lisp Quickstart - A good tutorial to get up and code Common Lisp quickly.
Apps / Third-party APIs
- montezuma (⭐47) - Full-text indexing and search for Common Lisp. Expat.
- mk-string-metrics (⭐22) - Calculate various string metrics efficiently in Common Lisp (Damerau-Levenshtein, Hamming, Jaro, Jaro-Winkler, Levenshtein, etc). MIT.
Configuration / Third-party APIs
- envy (⭐57) - Configuration switcher. FreeBSD.
Nov 06 - Nov 12, 2017
URI and IP handling / Isomorphic web frameworks
- quri (⭐111) - Another URI library for Common Lisp. Supports userinfo, IPv6 hostname, encoding/decoding utilities,… BSD_3Clause.
Oct 30 - Nov 05, 2017
Apps / Third-party APIs
- Check-it (⭐51) - A QuickCheck-style randomized property-based testing. LLGPL.
Oct 23 - Oct 29, 2017
HTTP Servers / Clack plugins
- clack-pretend (⭐11) - a testing and debugging tool for clack. Apache2.0.
Oct 02 - Oct 08, 2017
Readline, ncurses and other graphical helpers / Third-party APIs
- cl-readline (⭐38) - 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.
Notebooks / Third-party APIs
- Darkmatter (⭐355) - A notebook-style Common Lisp environment. MIT.
Apps / Third-party APIs
- 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. MIT.
Sep 25 - Oct 01, 2017
Others / Web project skeletons and generators
- find-port (⭐19) - Programmatically find open ports. MIT.
Aug 28 - Sep 03, 2017
Plotting / Third-party APIs
- eazy-gnuplot (⭐63) - a lispy, structure-less Gnuplot library. With its cookbook. LLGPL
Jul 24 - Jul 30, 2017
Markdown / Third-party APIs
- 3bmd (⭐82) - a markdown -> html converter. MIT.
Jul 03 - Jul 09, 2017
Running scripts / Third-party APIs
- 👍 Roswell (⭐1.8k) - a script installer and launcher, that makes it easy to distribute Lisp scripts and programs. MIT.
- compiles a binary under the hood
Plotting / Third-party APIs
- vgplot (⭐50) - an interface to the gnuplot plotting utility with the intention to resemble some of the plot commands of octave or matlab. GPL3.
Jun 26 - Jul 02, 2017
Intermediate
May 29 - Jun 04, 2017
Mobile
- ABCL - Armed Bear Common Lisp; targets the JVM, compiles to bytecode. Standard conformance. GNU GPL3 with Classpath exception.
- abcl-memory-compiler - a way to compile Java source code to create Java classes at runtime with ABCL. Apache2.
Intermediate
- Common Lisp Recipes - Common Lisp Recipes is a collection of solutions to problems and answers to questions you are likely to encounter when writing real-world applications in Common Lisp. Published in 2015.
May 08 - May 14, 2017
Beginner
- Practical Common Lisp - A good introductory text to Common Lisp, with practical examples.
- Land of Lisp - A fun, game-oriented introduction to Common Lisp.
Advanced
- Let Over Lambda - A book on advanced macro techniques. All eight chapters are available in the print copy.
- On Lisp - Paul Graham's amazing book on Lisp macros (and other interesting things).
- 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.
- with a web version: https://norvig.github.io/paip-lisp/
- PAIP-lisp (⭐7.2k) - Lisp code for the textbook "Paradigms of Artificial Intelligence Programming".
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.
Intermediate
- ANSI Common Lisp - A thorough, practical covering of the entire language, with exercises. Not recommended as a starter text, due to some caveats.
Apr 24 - Apr 30, 2017
URI and IP handling / Isomorphic web frameworks
- cl-slug (⭐25) - a small library to make slugs, mainly for URIs, transform in CamelCase, remove accentuation and punctuation, for english and beyound. LLGPL.
Other scripting utilities / Third-party APIs
- Parinfer - Parinfer is a way to edit lisp code that helps to keep both the indentation and the parenthesis balanced. It is easy to start with and yet it offers advanced features à la Paredit. It is available on many editors (Emacs, Vim, Neovim, Atom, Sublime Text, Visual Studio Code, LightTable, CodeMirror,…).
Mar 06 - Mar 12, 2017
C, C++
- trivial-ssh (⭐43) - An SSH client library. Expat.
ORMs
- crane (⭐201) - Another ORM. Expat.
- datafly (⭐99) - A lightweight database library. 3-clause BSD.
- sxql (⭐361) - A DSL for generating SQL. 3-clause BSD.
Java
- cl+j - A JNI-based interface to a JVM via CFFI. Not available on Quicklisp. Does not reliably work with all implementations. Expat.
Miscellaneous
- cl-cairo2 (⭐62) - Cairo bindings. Boost 1.0
- cl-horde3d (⭐15) - FFI bindings to the Horde3D graphics library. Not available on Quicklisp. EPL 1.0
- cl-opengl (⭐278) - CFFI bindings to OpenGL, GLU and GLUT APIs. 3-clause BSD.
- cl-sdl2 (⭐306) - Bindings for SDL2 using C2FFI. Expat.
- CLinch (⭐268) - Common Lisp 2D/3D graphics engine for OpenGL. FreeBSD.
- donuts (⭐25) - Graphviz interface for Common Lisp. Expat.
- lispbuilder-sdl (⭐192) - A set of bindings for SDL. Expat.
- cl-gtk2 (⭐36) - A binding for GTK+2. LLGPL.
Beginner
- Common LISP: A Gentle Introduction to Symbolic Computation - A nice introduction into the language.
Community / Interfaces to other package managers
- cl-nlp (⭐222) - Natural language processing toolset. Apache2.0.
HTTP Servers / Interfaces to other package managers
- wookie (⭐189) - Asynchronous HTTP server. Expat.
HTML generators and templates / Isomorphic web frameworks
Javascript / Isomorphic web frameworks
- CL-JavaScript - A translator from Javascript to Common Lisp. Not available on Quicklisp. Expat.
Websockets / Isomorphic web frameworks
- iolib (⭐141) - I/O library. Expat.
- "IOlib is to be a better and more modern I/O library than the standard Common Lisp library. It contains: a socket library, a DNS resolver, an I/O multiplexer, a pathname library and file-system utilities."
Others / Web project skeletons and generators
- css-lite (⭐77) - A CSS grammar. Expat.
Others / Third-party APIs
- GSLL - GNU Scientific Library for Lisp; allows the use of the GSL from Common Lisp. GNU LGPL2.1.
Utils / Third-party APIs
- chanl (⭐169) - Portable, channel-based concurrency. Expat, with parts under 3-clause BSD.
- cl-async (⭐273) - A library for general-purpose, non-blocking programming. Expat.
Vim & Neovim / Third-party APIs
- SLIMV (⭐454) - Superior Lisp Interaction Mode for Vim; a full-blown environment for Common Lisp inside of Vim. No license specified.
Apps / Third-party APIs
- quicksearch (⭐49) - Look up online libraries from the REPL. Expat.
Other / Third-party APIs
- babel (⭐91) - A charset encoding/decoding library. Expat.
- fast-io (⭐146) - Fast octet-vector/stream I/O. 3-clause BSD.
- named-readtables (⭐66) - Provides a readtable namespace, akin to package namespaces. 3-clause BSD.
- simple-currency (⭐7) - A currency conversion library using daily information published by the ECB. FreeBSD.
- trivial-garbage (⭐42) - A portable finalizer, weak hash-table and weak pointer API. Public domain.
Dec 19 - Dec 25, 2016
HTTP Servers / Interfaces to other package managers
- woo (⭐1.3k) - A fast non-blocking HTTP server on top of libev. MIT.
Web frameworks / Clack plugins
- Caveman (⭐783) - A powerful web framework. LLGPL. Example projects: Quickdocs
Javascript / Isomorphic web frameworks
- JSCL (⭐885) - A CL-to-JS compiler designed to be self-hosting from day one. Lacks CLOS, format and loop.