curated-awesome-cl
Lisp toolkit
A curated list of Common Lisp libraries and resources, focusing on beginner-friendly tools.
A curated and non exhaustive list of Common Lisp libraries and resources.
35 stars
6 watching
2 forks
last commit: about 3 years ago
Linked from 1 awesome list
Community | |||
| Common Lisp Cookbook | |||
| Quickdocs | Ready and up to date documentation for all Common Lisp projects | ||
Text Editor Resources / Emacs | |||
| Portacle | A portable and multiplatform Common Lisp environment: SBCL, Quicklisp, Emacs, Slime, Git | ||
| SLIME | 1,918 | 11 months ago | Superior Lisp Interaction Mode for Emacs; a full-blown environment for Common Lisp inside of Emacs. Public domain |
Text Editor Resources / Vim | |||
| SLIMV | 456 | 11 months ago | Superior Lisp Interaction Mode for Vim; a full-blown environment for Common Lisp inside of Vim. No license specified |
Text Editor Resources / Atom | |||
| SLIMA | 62 | over 2 years ago | allows you to interactively develop Common Lisp code, helping turn Atom into a full-featured Lisp IDE. |
Text Editor Resources / VSCode | |||
| alive | 211 | about 1 year ago | Common Lisp Extension for VSCode. Public domain |
Text Editor Resources / VSCode / alive | |||
| using VSCode with Alive | see the Cookbook: | ||
Text Editor Resources / Notebooks | |||
| cl-jupyter | 199 | almost 6 years ago | A Common Lisp kernel for Jupyter notebooks |
Text Editor Resources / REPLs | |||
| cl-repl | 153 | over 4 years ago | an ipython-like REPL. With completion, shell commands, magic commands, debugger, etc. . With |
| sbcli | 95 | over 1 year ago | a simple readline REPL that doesn't get in your way. It doesn't have a debugger, it just prints the error. With optional syntax highlighting and useful shortcuts |
Implementations | |||
| SBCL | A fork of CMUCL; compiles to machine code. . Public domain, with some parts under and | ||
| Clozure Common Lisp | , for its fast compilation time, and to use on 32bits Raspberry Pi | ||
Build Systems | |||
| ASDF | it's the de-facto build system shipped with the implementations | ||
Library Manager | |||
| Quicklisp | library manager | ||
| Ultralisp | A quicklisp distribution that builds every five minutes (instead of one month for Quicklisp), and requires 3 clicks to add your project to it (instead of opening an issue and waiting for Quicklisp) | ||
| Roswell | 1,797 | 12 months ago | A Lisp implementation installer, script launcher and more |
| qlot | 473 | 12 months ago | A project-local library installer, similar to Bundler or Carton |
Tools | |||
| cl-cookieproject | 77 | about 1 year ago | my project skeleton, more complete than the others |
| quicksearch | 50 | over 11 years ago | Look up online libraries from the REPL. |
Web / HTTP clients | |||
| Dexador | 379 | about 1 year ago | An HTTP client: |
Web / Web frameworks | |||
| https://common-lisp-libraries.readthedocs.io/hunchentoot/ | Hunchentoot documentation on a "read the docs" style: | ||
| easy-routes | 58 | 12 months ago | 👍 - a routes handling system on top of Hunchentoot. It supports dispatch based on HTTP method, arguments extraction from the url path, decorators, url generation from route name, etc |
| Caveman | 784 | over 1 year ago | A powerful web framework |
| Wookie | 190 | almost 3 years ago | Asynchronous HTTP server. |
| Snooze | 210 | over 1 year ago | A RESTful web framework, built on Clack, where routes are just functions and HTTP conditions are just Lisp conditions. |
| radiance | 326 | 12 months ago | An extensible framework library and multi-application CMS |
| cl-rest-server | 67 | about 2 years ago | a library for writing REST web APIs. Features validation with schemas, annotations for logging, caching, permissions or authentication, documentation via Swagger, etc. |
| Weblocks | 80 | over 1 year ago | A widgets-based framework with a built-in ajax update mechanism that "solves the JavaScript problem". |
Web / HTTP Servers | |||
| Hunchentoot | the CL web server | ||
| Clack | 1,058 | about 1 year ago | A web application environment inspired by Rack and WSGI |
| wookie | 190 | almost 3 years ago | Asynchronous HTTP server. |
| woo | 1,291 | about 1 year ago | A fast non-blocking HTTP server on top of libev. |
| clack-errors | 27 | over 6 years ago | Error page middleware for Clack. |
| hermetic | 43 | about 6 years ago | Security for Clack-based web applications. |
Web / Parsing html | |||
| Plump | 120 | over 1 year ago | A lenient HTTP/XML parser, tolerand on malformed markup. . Best used with and |
Web / Querying HTML/DOM | |||
| lquery | 87 | about 2 years ago | A jQuery-like HTML/DOM manipulation library. |
Web / HTML generators and templates | |||
| Djula | 153 | 11 months ago | A port of Django's template engine to Common Lisp |
| Ten | 34 | over 1 year ago | by Djula's maintainer, a more flexible framework, where we can write lisp expressions in templates |
| spinneret | 371 | 11 months ago | Common Lisp HTML5 generator |
| cl-markup | 65 | over 4 years ago | Modern markup generation library. |
Web / URI handling | |||
| quri | 112 | about 1 year ago | Another URI library for Common Lisp. Supports userinfo, IPv6 hostname, encoding/decoding utilities,… |
| cl-slug | 25 | over 8 years ago | a small library to make slugs, mainly for URIs, transform in CamelCase, remove accentuation and punctuation, for english and beyound |
Web / Javascript | |||
| Parenscript | 245 | almost 7 years ago | A translator from Common Lisp to Javascript. |
| parse-js | A package for parsing ECMAScript 3. | ||
| JSCL | 888 | over 1 year ago | A CL-to-JS compiler designed to be self-hosting from day one. Lacks CLOS, format and loop |
| sigil | 26 | over 8 years ago | A Parenscript to Javascript command line compiler and REPL. |
| JACL | |||
| Valtan | 243 | over 1 year ago | |
Web / Third-party APIs | |||
| Aws-sign4 | 18 | almost 2 years ago | Common Lisp library for Amazon Web Services signing version 4. |
| north | The successor to the South (Simple OaUTH) library, implementing the full oAuth 1.0a protocol, both client and server sides. Using North you can easily become an oAuth provider or consumer. | ||
| avatar-api | 9 | over 10 years ago | Get avatars from Google+, Gravatar and others. |
| chirp | 68 | over 2 years ago | A Twitter client library. |
| cl-irc | An IRC client library. | ||
| cl-openid | An implementation of OpenID. | ||
| cl-pushover | 2 | over 9 years ago | Common Lisp bindings to Pushover. |
| cl-ses | 15 | over 7 years ago | Library for AWS SES. |
| humbler | 11 | over 2 years ago | A Tumblr API interface. |
XML | |||
| CXML | XML parser, with a range of extension libraries. | ||
| Plump | 120 | over 1 year ago | A lenient HTTP/XML parser, tolerand on malformed markup. . Best used with and |
| s-xml | A basic parser. | ||
| xmls | A small, simple, non-validating XML parser. | ||
JSON | |||
| jonathan | 164 | over 1 year ago | A JSON encoder and decoder. |
CSV | |||
| cl-csv | 116 | almost 2 years ago | A library for parsing CSV files |
Database and ORMs | |||
| mito | 296 | 12 months ago | An ORM for Common Lisp with migrations, schema versioning, relationships, PostgreSQL support |
| postmodern | A library for interacting with PostgreSQL | ||
Interaction with other languages / Python | |||
| py4cl | 235 | about 2 years ago | A library that allows Common Lisp code to access Python libraries. It is basically the inverse of cl4py. |
| cl4py | 98 | 11 months ago | The library cl4py (pronounce as clappy) allows Python programs to call Common Lisp libraries. |
Graphics | |||
| cl-cairo2 | 62 | over 8 years ago | Cairo bindings |
| cl-gd | A library providing an interface to the GD graphics library. | ||
| cl-opengl | 280 | about 1 year ago | CFFI bindings to OpenGL, GLU and GLUT APIs. |
| cl-sdl2 | 309 | over 1 year ago | Bindings for SDL2 using C2FFI. |
| cl-svg | A basic library for producing SVG files. | ||
| FreeBSD | [CLinch][63] - Common Lisp 2D/3D graphics engine for OpenGL. | ||
| donuts | 26 | over 2 years ago | Graph drawing DSL for Common Lisp. |
| lispbuilder-sdl | 192 | over 4 years ago | A set of bindings for SDL. |
| Vecto | Simple vector drawing library. | ||
| zpng | A library for creating PNG files. | ||
GUI | |||
| ltk | A binding for the Tk toolkit. or | ||
| nodgui | Bindings for the Tk toolkit, based on Ltk, with syntax sugar and additional widgets | ||
| IUP | 138 | almost 3 years ago | CFFI bindings to the Portable User Interface library (pre-ALPHA). IUP is cross-platform (Windows, macOS, GNU/Linux, with new Android, iOs, Cocoa and Web Assembly drivers), has many widgets, has a small api and is actively developed |
| Qtools | 210 | almost 3 years ago | A Qt4 toolkit, based on CommonQt |
| ceramic | Desktop web apps with Common Lisp. | ||
GUI / ceramic | |||
| Electron-lisp-boilerplate | 10 | over 2 years ago | A rudimentary boilerplate for building Electron apps with embedded Lisp helper processes |
| electron-sbcl-sqlite | 29 | almost 5 years ago | Electron app skeleton: |
GUI | |||
| LispWork's CAPI | A portable GUI toolkit, with mobile runtime. Proprietary, but comes with a free version | ||
Numerical and Scientific | |||
| cl-spark | 96 | over 10 years ago | Generates sparkline strings for lists of numbers. |
| GSLL | GNU Scientific Library for Lisp; allows the use of the GSL from Common Lisp. | ||
| lisp-stat | an environment for statistical computing, conceptually similar to R, that is also suitable for front-line production deployments. "It grew out of a desire to have an environment for rapidly prototyping analytical and A.I. solutions, and move directly to production environments with minimal friction." | ||
Numerical and Scientific / lisp-stat | |||
| https://lisp-stat.dev/ | |||
| XLisp-Stat | ships Luke Tierney's (a predecessor of R) as well as newer libraries | ||
Numerical and Scientific | |||
| common-lisp-stat | 170 | about 6 years ago | Common Lisp statistics library. |
| lisp-matrix | 71 | almost 8 years ago | A matrix package. |
| maxima | Computer algebra system. Not available on Quicklisp. | ||
Parallelism and Concurrency | |||
| BordeauxThreads | Portable, shared-state concurrency. | ||
| lparallel | 246 | about 3 years ago | A library for parallel programming. |
| lfarm | 106 | over 10 years ago | distributing work across machines (on top of lparallel and usocket) |
| cl-async | 276 | about 1 year ago | A library for general-purpose, non-blocking programming, built on (the library that powers Nodejs). |
| chanl | 169 | 11 months ago | Portable, channel-based concurrency. , with parts under |
| Moira | 29 | almost 2 years ago | Monitor and restart background threads. In-lisp process supervisor. |
| trivial-monitored-thread | - a Common Lisp library offering a way of spawning threads and being informed when one any of them crash and die. | ||
| cl-gearman | 22 | about 4 years ago | a library for the distributed job system. |
| swank-crew | 43 | almost 2 years ago | distributed computation framework implemented using Swank Client. |
| cl-coroutine | 65 | about 9 years ago | a coroutine library. It uses the CL-CONT continuations library in its implementation. |
| STMX | 244 | over 1 year ago | High performance Transactional Memory for Common Lisp. |
Parallelism and Concurrency / Actors pattern | |||
| cl-gserver | 200 | 11 months ago | an Erlang inspired GenServer. It is meant to encapsulate state, but also to execute async operations. Also with actors. Functionality regarding state is not unsimilar to Clojure's Agent or cl-actors. |
Parallelism and Concurrency / Event processing | |||
| simple-tasks | 20 | over 2 years ago | A very simple task scheduling framework. |
| deeds | 23 | over 2 years ago | Deeds is an Extensible Event Delivery System. It allows for efficient event delivery to multiple handlers with a complex event filtering system. |
| cl-flow | 50 | almost 4 years ago | Data-flowish computation tree library for non-blocking concurrent Common Lisp. |
| event-glue | 20 | over 10 years ago | simple eventing abstraction. No dependencies. It can be used anywhere you need a generic event handling system. |
Parallelism and Concurrency / Job processing | |||
| SBCL's timers | , system-wide event schedulers | ||
| cl-cron | 16 | about 2 years ago | A simple tool that provides cron like facilities |
| clerk | 18 | about 4 years ago | a cron-like scheduler with sane DSL. |
Regex | |||
| cl-ppcre | Portable, Perl-compatible regular expressions. | ||
| one-more-re-nightmare | 141 | about 1 year ago | a fast-ish regular expression compiler in Common Lisp. |
Unit Testing | |||
| FiveAM | 187 | about 1 year ago | Simple regression testing framework |
| Mockingbird | A small stubbing and mocking library for Common Lisp. Can also check wether a stubbed function was called, how many times and with which arguments. | ||
| Check-it | 51 | about 5 years ago | A QuickCheck-style randomized property-based testing. |
| cl-coveralls | 29 | 12 months ago | a helper library to post test coverage to Coveralls. See and . |
Continuous Integration | |||
| a tutorial | 1,797 | 12 months ago | Travis CI: we can use Roswell on Travis CI: see (cl-travis doesn't work with Travi's Docker based architecture) |
| cl-coveralls | 29 | 12 months ago | |
| https://lispcookbook.github.io/cl-cookbook/testing.html#gitlab-ci | Gitlab CI: | ||
Utilities / Language extensions | |||
| alexandria | A general-purpose utility library | ||
| serapeum | 438 | 12 months ago | Another general-purpose utility library |
| rutils | 252 | over 1 year ago | radical yet reasonable syntactic utilities for Common Lisp |
| trivia | 336 | about 1 year ago | Optimized pattern-matching library. |
| generic-cl | 143 | 12 months ago | Generic function interface to standard Common Lisp functions (equality, comparison, arithmetic, objects, iterator, sequences,…). . See also the more lightweight . |
| FSet | A functional, set-theoretic collections data structure library. | ||
| trivial-types | 66 | over 7 years ago | Trivial type definitions. |
| cl-algebraic-data-type | A library for defining algebraic data types in a similar spirit to Haskell or ML. | ||
Utilities / Changing the syntax | |||
| pythonic-string-reader | 19 | over 7 years ago | A simple and unobtrusive read table modification inspired by Python's three quote strings. |
| cl-reader | 13 | over 2 years ago | A utility library intended at providing reader macros for lambdas, mapping, accessors, hash-tables and hash-sets. |
Utilities / Iteration | |||
| iterate | An iteration construct for Common Lisp which is extensible and Lispier. | ||
Utilities / Iteration / iterate | |||
| https://lispcookbook.github.io/cl-cookbook/iteration.html | |||
Utilities / Iteration | |||
| for | A concise, lispy and extensible iteration macro. Unlike loop it is extensible and sensible, and unlike iterate it does not require code-walking and is easier to extend | ||
| trivial-do | 18 | over 3 years ago | Additional dolist style macros for Common Lisp. |
| doplus | – another extensible iteration library, similar to :for | ||
| picl | 17 | over 1 year ago | An (almost) complete port of Python's itertools package, complete with laziness where applicable, and not relying on cl-cont. |
| gtwiwtg | A lazy sequences library. Similar to 'series' but not as complete. However it has a 'modern' API with stuff like , , , , etc. that is easy to use | ||
Utilities / Lambda shorthands | |||
| fn | 25 | over 1 year ago | a couple of lambda shorthand macros. . Public domain |
| f-underscore | a tiny library of functional programming utils. . Public domain | ||
| cl-punch | 24 | almost 2 years ago | Scala-like anonymous lambda literals. . |
Utilities / I/O | |||
| iolib | 141 | over 1 year ago | I/O library. |
| fast-io | 147 | over 3 years ago | Fast octet-vector/stream I/O. |
| trivial-utf8 | A small library for doing UTF-8-based I/O. Not available on Quicklisp. No license specified | ||
Utilities / Data validation | |||
| ratify | 29 | over 2 years ago | A collection of utilities to ratify, validate and parse inputs. |
| clavier | 19 | over 1 year ago | General purpose validation library for Common Lisp. |
| json-schema | 17 | over 1 year ago | A library for validating data against schemas of drafts 4, 6, 7, and 2019-09 of the standard. |
| sanity-clause | 51 | over 4 years ago | a data serialization/contract library for Common Lisp. Schemas can be property lists or class-based, allowing to check slots' types during . |
Utilities / Date and time | |||
| localtime | A development library for manipulating date and time information in a semi-standard manner. | ||
| cl-date-time-parser | 18 | over 11 years ago | Parse date-time-string, liberally. Hides the difference between date-time formats, and enables to manage date and time as the one date-time format. |
| chronicity | 67 | almost 7 years ago | A natural language date and time parse, to parse strings like "3 days from now". |
| local-time-duration | 17 | over 6 years ago | - Duration processing library built on top of local-time. |
| iso-8601-date | Miscellaneous date routines in Common Lisp, based around the ISO 8601 string representation. | ||
| calendar-date | 8 | about 5 years ago | a Gregorian calendar date library. |
| periods | 30 | almost 2 years ago | manipulating date/time objects at a higher level. With series-compatible data structure. |
Utilities / Logging | |||
| log4cl | 103 | about 8 years ago | Logging framework modelled after Log4J |
Crypto | |||
| Ironclad | A library of crypto functions for Common Lisp. Not considered secure, but is still useful for the message digest functions. | ||
| crypto-shortcuts | 25 | 11 months ago | Collection of common crypto shortcuts. |
Learning and Tutorials | |||
| Common Lisp programming: from novice to effective developer | 📹 ⭐ | ||
| How to create a full-featured Common Lisp project from scratch | |||
| Web requests in Common Lisp: how to fetch the Github API | |||
Learning and Tutorials / Beginner | |||
| Learn X in Y minutes | Where X = Common Lisp | Small Common Lisp tutorial covering the essentials | ||
| Practical Common Lisp | A good introductory text to Common Lisp, with practical examples | ||
| Common LISP: A Gentle Introduction to Symbolic Computation | A nice introduction into the language | ||
| Learn LISP: Simply Easy Learning | A good set of introductory tutorials; includes interactive examples | ||
| Common Lisp Koans | 3,134 | over 2 years ago | The project guides the learner progressively through many Common Lisp language features |
Learning and Tutorials / Intermediate | |||
| CL Cookbook | |||
| Common Lisp tips | 122 | about 6 years ago | A collaborative resource with useful tips and tricks |
| Common Lisp programming: from novice to effective developer | 📹 , a video course tutorial on the Udemy platform, by me (@vindarel) (CL Cookbook, lisp-journey) ( , some free videos) | ||
Learning and Tutorials / Advanced | |||
| Let Over Lambda | A book on advanced macro techniques. The first six chapters are available online | ||
| On Lisp | Paul Graham's amazing book on Lisp macros (and other interesting things) | ||
Learning and Tutorials / Reference | |||
| Common Lisp Quick Reference | A distilled, pocket-size version of the ANSI CL spec. Available for download as a PDF | ||
| CLHS | The Common Lisp HyperSpec; the ANSI CL standard, in hypertext form | ||
| Common Lisp the Langauge | The original standard for Common Lisp before the ANSI spec | ||
| Minispec | A friendlier, but less-complete, version of CLHS. Also contains documentation for some commonly-used CL libraries (such as Alexandria) | ||
| Quickdocs | A reference for the libraries provided by Quicklisp | ||
Learning and Tutorials / Beginner | |||
| Land of Lisp | A fun, game-oriented introduction to Common Lisp | ||
| Practical Common Lisp | A good introductory text to Common Lisp, with practical examples | ||
| Common Lisp Koans | 3,134 | over 2 years ago | The project guides the learner progressively through many Common Lisp language features |
Learning and Tutorials / Intermediate | |||
| ANSI Common Lisp | A thorough, practical covering of the entire language, with exercises. Not recommended as a starter text, due to | ||
Learning and Tutorials / Advanced | |||
| Let Over Lambda | A book on advanced macro techniques. All eight chapters are available in the print copy | ||
| Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS | An old, but very thorough book on CLOS | ||
| Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp | A book on programming AI that covers some advanced Lisp | ||