Home

Awesome

<div align="center"> <img src="http://i.imgur.com/jLVXhpc.png"> </div>

My Curated Awesome Common Lisp

A curated list of awesome Common Lisp stuff, curated for beginners.

Also don't miss the https://lispcookbook.github.io/cl-cookbook/ :)

You are invited to make your own curated list, and reference it here!

edit: I now take much more care of the original list

This was forked from the Awesome Common Lisp and modified following the ideas:

All libraries listed here are available from Quicklisp.

This is released under the GNU Free Documentation License - its text is provided in the LICENSE file.

<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again -->

Table of Contents

<!-- markdown-toc end -->

Community

And see below, learning and tutorials.

Text Editor Resources

Cookbook: getting started

This contains plugins and other goodies for various text editors.

Cookbook: editor resources

Emacs

Vim

Atom

VSCode

Notebooks

REPLs

Implementations

But there are more, see other ressources.

Build Systems

Library Manager

Tools

These are applications or bits of code that make development in Common Lisp easier without being Common Lisp libraries themselves.

Web

HTTP clients

Web frameworks

There are more on the awesome-cl list, and in the wild. Those are my choices.

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

my 2 cents: I find Clack-based frameworks (like Caveman) tedious to use. Be sure to test others (Wookie, Snooze,…). Don't juge projects uniquely by their numbers of Github stars.

HTTP Servers

Clack extensions:

Parsing html

Cookbook: web scraping

Querying HTML/DOM

HTML generators and templates

There are at least two for JSX-like mix of HTML inside Lisp. Crazy.

URI handling

Javascript

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

and new ones in development:

Email

Third-party APIs

XML

JSON

CSV

Database and ORMs

Cookbook: databases

For much more, see the awesome-cl list.

Interaction with other languages

Python

See also async-process.

Game Development

Graphics

These are libraries for working with graphics, rather than making GUIs (i.e. widget toolkits), which have their own section.

GUI

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

Natural Language Processing

See the awesome-cl list.

Numerical and Scientific

Cookbook: numbers

Cookbook: multidimensionnal arrays

I am not knowledgeable here

Parallelism and Concurrency

Cookbook: threads

Actors pattern

Event processing

Job processing

Regex

Cookbook: regular expressions

Unit Testing

Cookbook: testing and continuous integration

I think Parachute and Rove are unfinished and not enough developped.

Continuous Integration

Cookbook: testing and continuous integration

Utilities

Language extensions

Changing the syntax

Iteration

Lambda shorthands

See also Rutils.

System

The de-facto library is uiop, the Utilities for Implementation and OS Portability. It abstracts os utilities (getevn, chdir, etc), pathnames, the filesystem, images, spawning processes, and much more.

Cookbook: interfacing with your OS

I/O

Data validation

Date and time

Cookbook: date and time

Logging

There are more if you have special needs.

Crypto

Learning and Tutorials

📢 Everyone, I have an announce! I have been learning CL the hard way: I read a lot, I wrote a lot of tutorials on the Cookbook and on my blog, I had to ask a lot of questions, I built libraries and softwares and I stumbled across a lot of issues. Often, my problems were not due to the language itself, but rather in interfacing with the outside world.

So, I built a Common Lisp course in videos with the goal for it to be the most efficient way to learn Common Lisp today. It is on Udemy:

You can find the table of contents details, notes and exercises on its Github. It takes so much time that it is not available for free. Check my Twitter or my blog for discounts (at the beginning of the month, often). Thanks for your support, it helps.

See also other videos I post on Youtube sometimes:

Online

Beginner

Intermediate

Advanced

Reference

Offline

Beginner

Intermediate

Advanced

Contributing

Contribute upstream to the awesome-cl list or write your own curated one, and share it!