This is a personal pick of the most interesting projects, tools, libraries and articles that popped-up in Common Lisp land in the last two years.
Newcomers might not realize how the Common Lisp ecosystem, though stable in many ways, actually evolves, sharpens, tries new solutions, proposes new tools, ships new libraries, revives projects. And everyone might enjoy a refresher.
Here’s my previous overview for 2022.
The same warnings hold: I picked the most important links, in my view, but this list is by no means a compilation of all new CL projects or articles published on the topic. Look for yourself on Reddit, Quicklisp releases, GitHub, and use your favourite search engine.
There are too many great news and achievements to pick 3. I love what’s happening around SBCL (and ECL, and Clozure’s revival), I love everything that got included into Lem and the work on all other editors, I love the webviews and I love the scripting tools that are emerging. What are your top picks?
OK, there’s a news I want to put at the forefront: HackerNews now runs on top of SBCL ;)
If you are discovering the ecosystem, my recommendaton is to not miss these two resources:
- Awesome-cl - a curated list of libraries (there might be more than you think)
- if you are looking for a list of recommended libraries on each topic, look here.
- the CL Cookbook
Now let’s dive in and thanks to everyone involved.

Table of Contents
- Community
- Documentation
- Implementations
- Companies and jobs
- Projects
- More libraries
- Other articles
- Videos
Community
We could start with some reddit stats: 2025 - a New Year for an old programming language! (numbers are up).
The ELS team kept organizing the conference. We have a date and place for 2025: European Lisp Symposium 2025 in Zürich, May 19⁄20
We saw new and regular Lisp Ireland meetups.
Here’s one of their videos: Lisp Ireland, February 2024 Meetup - Lisp & Hardware Verification with ACL2
@djha-skin ran a survey, which is not an established practice in the community, and analysed the results: Common Lisp Community Survey 2024 Results .
@shinmera (Yukari), the author of many useful libraries and an active member of the ELS, and even the host of the next one, opened a Patreon. “If you’d like to help me continue my full-time open source Lisp work, please consider supporting me.”. Sponsoring Yukari is money well spent. She is on GH sponsors and ko-fi too.
The community is on reddit, Discord, Mastodon, LinkedIn… and also on XMPP.
Documentation
The CL Cookbook is a collaborative resource with new contributors each year: new Cookbook EPUB and PDF release: 2025-01.
We got a great contribution: Cookbook: Building Dynamic Libraries with SBCL-Librarian · by em7
PAIP is a classic, now available on the web: Peter Norvig: Paradigms of Artificial Intelligence Programming, Case Studies in Common Lisp (web version).
New resource: Web Apps in Lisp: Know-how: I wanted a resource specialized for web development in Common Lisp. I mean to continuously extend it from now on.
I’ll include a couple general videos in this section. More videos and more documentation improvements are to be found in their respective sections.
FreeCodeCamp released an extensive Common Lisp course on Youtube: Lisp Programming Language – Full Course for Beginners - freeCodeCamp.org - Youtube.
David Botton of CLOG fame released more beginner material, among which Common Lisp - The Tutorial - Fast, Fun and Practical (with CLOG).
I carry on the work on my Common Lisp course in videos, on the Udemy platform. Lately, I worked on a CLOS tutorial: I published 9 videos (1h 22min) on my course. You’ll know enough to read the sources of Hunchentoot or the Kandria game 🎥 comments. The course is comprised of more than 7 hours of short videos, with a code first approach, divided in 9 chapters. We see some basics but we quickly dive into more advanced Common Lisp topics. You can learn more about it here on GitHub. Students can send me an email for a free link.
Here’s the feedback of redditors:
I can vouch for the Udemy course. From the very first lesson, just firing up the REPL and Emacs/SLIME I was taught something new. It’s a great course.
fuzzmonkey35, January 2025 (reddit)
It is an amazing tutorial. What is really strange is I thought CLOS was complicated. I guess it can be but Vincent is amazing at explaining everything and demystifying it.
intergallactic_llama, January 2025 (reddit)
;)
Implementations
Great times for Common Lisp implementations.
SBCL
SBCL ships monthly releases. You really should look at and appreciate all the activity and the continous improvements.
One noticeable addition: its new garbage collector. SBCL: merge of the mark-region GC.
More improvements include:
- “the mark-region parallel garbage collector can be enabled on arm64. (Thanks to Hayley Patton)”,
- new contrib module sb-perf, “a performance-analysing tool for Linux. (thanks to Luke Gorrie and Philipp Marek)”
- support for cross-compiling the system to Android has been added (thanks to Gleefre)
- “support for memory allocation arenas is now available on the arm64 platform.”
- haiku support
- sb-simd improvements
More good stuff with SBCL:
- Porting SBCL to the Nintendo Switch
- SBCL as part of an Android application!
- Simple REPL App. (SBCL, Android - WIP)
- 40ants/tree-shaker: experimental tree shaker for SBCL
- SBCL can now be installed on Windows via Chocolatey (unofficial)
- sbcl-builds: Nightly builds of SBCL for Windows using MSYS2 UCRT64.
- sbcl-goodies: distributing binaries with Common Lisp and foreign libraries. libssl, libcrypto and libfixposix are statically baked in.
There are open bounties to improve SBCL:
- $2000 USD bounty to see by-value struct passing implemented in SBCL’s native FFI.
- it may be more than $2000 USD now.
- You wouldn’t start from zero, there is existing work. See the thread.
- another $700+ bounty to add coroutines in SBCL
- same link. No official bounty page yet, I may work on it.
ABCL
New release ABCL 1.9.2.
New tool: Announcing the First Release of abcl-memory-compiler - Now Available!
CCL
Clozure was a bit active, but rather dormant.
Great news: Clozure is back
Allegro
Allegro Common Lisp 11.0 from Franz Inc.
LispWorks
I didn’t spot a patch release (they had a major release in 2022), so let’s link to a discussion: is LispWorks worth it? you might learn some things about LW’s feature set.
ECL
Embeddable, targetting WASM… is it the future?
CLASP
CLASP targets C++ on LLVM.
They realeased Clasp v2.7.0 in January, 2025.
For context:
- Christian Schafmeister talk - brief update about his “molecular lego” supported by his Lisp compiler
- there’s less funding than in the 80s for Common Lisp, but still funding: “CLASP was supported by The Defense Threat Reduction Agency, The National Institutes of Health, The National Science Foundation”.
New implementations
- A Common Lisp implementation in development in C89 (no compiler so far)
- called ALisp, “breakpoints and stepping work quite well”
- gsou/LCL: Lua Common Lisp. An implementation of Common Lisp targeting Lua.
Historical: Medley Interlisp
We can run the Medley Interlisp Lisp machine in a browser O_o The work achieved by this group is phenomenal, look:
I suggest to follow @interlisp@fosstodon.org
on Mastodon.
Companies and jobs
Yes, some companies still choose Common Lisp today, and some hire with a public job posting.
It’s of course the visible top of the iceberg. If you dream of a Lisp job, I suggest to be active and make yourself visible, you might be contacted by someone without a proper job announce. This could be for an open-source project with funding (happened to me), for a university, etc.
- a new product: Oracle Aconex Accelerator · “Over 5 years of development and scaling, the entire Conceptual AI linked data platform is built on Common Lisp (SBCL).”
- experience report: the World’s Loudest Lisp Program to the Rescue, by Eugene Zaikonnikov
- job: Common Lisp Developer Job | Backend | Keepit | Kraków
- job: (same company, later) Common Lisp Developer job offer at Keepit
- job: Freelance job posting at Upwork for a Common Lisp Developer/Engineer.
- job: Lisp job: Cognitive Software Engineer - Chelmsford, MA, at Triton Systems
- job: implement the “Convex Hull Covering of Polygonal Scenes” paper.
- job: Senior Lisp Developer (m/f/d), Software & Applications at DXC Technology, work on SARA (SuperAgent Robotic Application), an automation tool designed to streamline complex and repetitive business processes for major airlines.
- job: senior Common Lisp Developer | 3E, Brussels
We knew these companies since awesome-lisp-companies -it’s only a list of companies we know about, nothing offical. Additions welcome.
Discussions on the topic:
- Anyone using Common Lisp for freelance work? where we learn about cool websites made in CL and cool experience reports.
- Running my 4th Common Lisp script in production© - you can do it too aka “you don’t need crazily difficult needs to make yourself a favour and use CL instead of Python in your projects”
Projects
Editors
Please check out the Cookbook: editors for a list of good editors for Common Lisp. You migth be surprised.
Let’s highlight a new editor in town: Neomacs: Structural Lisp IDE/computing environment . Mariano integrated it in his moldable web desktop: Integrating Neomacs into my CLOG-powered desktop.
About Emacs
- slime 2.30 · Better I/O performance, macroexpand for macrolet (and more)- Better Common Lisp highlighting in Emacs
- Learning Lisp - making sense of xrefs in SLIME
About VSCode
About Lem and Rooms pair programming environment
- Lem 2.0.0 released
- released in May 2023, this version added the SDL2 frontend, adding mouse support, graphic capabilities, and Windows support.
- it brought the possibility to draw images and shapes at any location on a buffer or window.
- addition of many base16 color themes (180), by @lukpank.
- Lem 2.1.0 released, with many new contributors. Lem 2.0 definitely caught the eyes of many developers IMO.
- this is when Lem got its website: https://lem-project.github.io/
- @sasanidas worked on supporting other implementations: “ECL and CCL should work fairly well”, “ABCL and Clasp are still work in progress, working but with minor bugs.”.
- I added project-aware commands, find-file-recursively
- @cxxxr added (among everything else) great Lisp mode additions (just look at the release notes and the screenshots)
- added a sidebar / filer
- and much more. Just look at the release.
- then came out Lem 2.2.0
- the release notes are less organized ;)
- added libvterm integration
- this is when I added the interactive git mode.
Unfortunately these latest releases do not ship a readily usable executable. But the installation recipes have been greatly simplified and use Qlot instead of Roswell. There’s a one-liner shell command to install Lem on Unixes.
Lem’s creator cxxxr is now on GitHub sponsors.
He is also working on Rooms, aka Lem on the cloud: it’s a Lem-based “pair programming environment where you can share your coding sessions”. Only the client is open-source, so far at least.
Demo: https://www.youtube.com/watch?v=IMN7feOQOak
Those are the Lem related articles that popped up:
- Oh no, I started a Magit-like plugin for the Lem editor
- Lem customizable dashboard
- Lem has a subreddit
- Lem in CLIM “1.0” · now with mouse events and smoother performance. (August 2024)
- Lem on the cloud: Powerful web-based Editor with Collaborative Editing

About LispWorks
About the Jetbrains plugin
About Jupyter
Other tools
- CL-REPL now supports multiline editing
- it also comes as a ready-to-use binary
Coalton
I found Coalton-related projects:
- https://github.com/garlic0x1/coalton-threads
- https://github.com/garlic0x1/coalton-rope
- https://github.com/jbouwman/coalton-lsp
E. Fukamachi added Coalton support for Lem: https://lem-project.github.io/modes/coalton-lang/. This adds completion, syntax highlighting, interactive compilation and more inside “coalton-toplevel” forms.
Package managers
Quicklisp had a one year hiatus, because it relies on one man. It finally got an update after 1 year: Quicklisp libraries were updated 2024-10-12. Despite a call for collaboration, we don’t really know how we can help.
But Quicklisp isn’t the only library manager anymore.
- introducing ocicl: an experimental modern quicklisp alternative built on tools from the world of containers may 2023
- Ultralisp now supports any git repositories as project sources
- Qlot 1.4.1 - added script for manual installation without Roswell, “qlot install” runs in parallel
- Qlot 1.5.0 - added a REPL interface
- introducing vend: just vendor your dependencies
Also:
Gamedev
The Kandria game was released: https://kandria.com/
- Trial game engine documentation website and examples
- My Lisp physics engine for Trial is finally working!
If you are into game dev, this is a paper you cannot miss: Kandria: experience report, presented at the ELS 2023.
Great articles:
- Gamedev in Lisp. Part 1: ECS and Metalinguistic Abstraction
- Gamedev in Lisp. Part 2: Dungeons and Interfaces · Wiki · Andrew Kravchuk / cl-fast-ecs · GitLab
and more:
I almost forgot the Lisp Game Jams and the new cool little games. For example: Nano Towers
a simple tower defense game written in Common Lisp with the EON framework based on Raylib, submitted for the Spring Lisp Game Jam 2024.
Links to the jams:
GUI
Many solutions exist. Disclaimer: the perfect GUI library doesn’t exist. Please see the Cookbook/gui and awesome-cl. Also don’t miss the web views available today.
releases:
- McCLIM 0.9.8 Yule
- Shirakumo/glfw: An up-to-date Common Lisp bindings library to the most recent GLFW OpenGL context management library
- nodgui 0.4 released - multithread main loop, auto-completion entry, extended text widget, better image support
- nodgui v0.6.0 - Added an SDL frame as an alternative for TK canvas when fast rendering is needed. Both 2D (pixel based) and a 3D rendering (the latter using openGL) are available.
- Pretty GUIs now: nodgui comes with a pre-installed nice looking theme
As always, we might not highlight the work achieved on existing libraries that didn’t get a proper announce. There are more GUI libraries for CL.
demos:
Web
CLOG appeared in 2022 and is kicking. Its API has been stable for 4 years.
You know Hacker News, the website, right? Hacker News now runs on top of SBCL
HN runs on top of Arc, the language. Arc was implemented on top of Racket (-> MzScheme). A new, faster / more efficient, implementation of Arc in SBCL was in the works by a Hacker News site maintainer for some time: called Clarc. Its source code has not been published. Since [late september, 2024], the official Hacker News site runs using Clarc and SBCL.
Here’s (again) my new resource for web development in Common Lisp: Web Apps in Lisp: Know-how.
Now the links:
- CLOG CLOG 2.0 - Now with a complete Common Lisp IDE and GUI Builder (with or w/o emacs)
- CLOG OS shell

- CLOG CLOG Builder Video Manual Video 5 - Using Projects & Plugins
- CLOG debug tools https://github.com/rabbibotton/clog/discussions/361
- CLOG got emacs-like tabs
Projects built with CLOG:
- mold desktop - A programmable desktop.
- CLOG moldable inspector, “A moldable Common Lisp object inspector based on CLOG”

Weblocks (continued in the Reblocks project):
- Height Weblocks (Reblocks) Extensions - now with documentation
- video: Weblocks demo: a staff onboarding web app written in Common Lisp (EN Subs)
More:
Articles:
- Ningle Tutorial 3: Static Files Middleware
- Towards a Django-like database admin dashboard for Common Lisp
- Add Stripe billing to your Common Lisp app
- Building a highly-available web service without a database
- Building with Parenscript and Preact
- i18n in my Lisp web app with Djula templates and gettext
videos:
libraries:
- JZON hits 1.0 and is at last on the latest QL release: a correct and safe JSON parser, packed with features, and also FASTER than the latest JSON library advertised here.
- OpenAPI client generator
- Pulling portableaserve (Portable AllegroServe) into sharplispers
- ScrapyCL - The web scraping framework for writing crawlers in Common Lisp
- Nobody Knows Shoes But Ryo Shoes (A Simple GUI DSL upon CLOG)
The web views I mentioned: Electron is a thing, but today we have bindings to webview.h and webUI:
More libraries
Data structures:
Language extensions, core libraries:
- Dynamic Let (Common Lisp, MOP)
- Equality and Comparison in FSet, CDR8, generic-cl
- generic-cl 1.0
- cl-ppcre 2.1.2 - New function: count-matches
Iteration:
- cl-transducers 1.0 - operating over and into plists, hash-tables, CSV
- cl-transducers 1.2.0 - FSet support
- Štar: an iteration construct for Common Lisp
Developer tools:
Threads, actors:
- Bordeaux-Threads API v2
- Sento actor framework 3.0 released - no new features, many API changes: cleanups, obstacles removed, and hopefully a more consistent way of doing things.
- Sento 3.2 · allows a throughput of almost 2M messages per second
Documentation builders:
Databases:
- AllegroGraph 8
- Postmodern v1.33.10 and 1.33.11 released
- endatabas/endb v0.2.0-beta.1 · SQL document database with full history (Lisp, Rust)
- Mito-validate
relational database and first order logic:
Numerical and scientific:
- cl-waffe2: (Experimental) Graph and Tensor Abstraction for Deep Learning all in Common Lisp
- numericals` has a slightly better documentation now!
- Common Lisp: Numerical and Scientific Computing - Call for Needs
- Lisp Stats 2023 end of year summary
- More notes on using Maxima in a Lisp runtime
- maxima-interface - Simple interface between Common Lisp and Maxima
Plotting:
- GURAFU: a simple (just usable) plot program for Common Lisp
- plotly-user: Use plotly in your browser to explore data from a Common Lisp REPL
- “a week-end hack and an excuse to learn CLOG”
Bindings and interfaces:
- marcoheisig/lang: A library for seamless multi-language programming. The currently supported languages are Python and Lisp.
- bike (.NET interface for CL) version 0.14.0. Documentation! .NET-callable classes. ECL support. And more.
- CL-CXX-JIT: Write C++ functions within Common Lisp
- Common Lisp implementation of the Forth 2012 Standard
Serialization:
Date and time:
- Precise Time - hooking into the operating system to give sub-seconds precise timing information
- calendar-times - a calendar time library implemented on top of LOCAL-TIME
Utilities:
- cl-ansi-term: print tables with style, and other script utilities
- command-line-args - Turn your Common Lisp function into a command which you can use from the command line. (similar to defmain)
- file-finder: Rapid file search and inspection
- Consfigurator 1.4.1 released, including new support for FreeBSD
Bindings and interfaces to other software:
- cl-git 2.0 - an interface to the C library libgit2. The API is an almost complete exposure of the underlying library
- cl-telegram-bot - Telegram Bot API (now with documentation)
- claw-raylib - Fully auto-generated Common Lisp bindings to Raylib and Raygui using claw and cffi-object
Networking:
Scripting
(I love what’s being done here)
- ruricolist/kiln: Infrastructure for scripting in Common Lisp to make Lisp scripting efficient and ergonomic.
- CIEL Is an Extended Lisp, Hacker News
- unix-in-lisp - Mount Unix system into Common Lisp image.
Software releases
- OpusModus 3.0, first Windows version released
- tamurashingo/reddit1.0: Refactored old reddit source code (with recent commits and a Docker setup)
- Release 1.0.0 · calm - Canvas and Lisp magic
- Lisa: A production-ready expert-system shell, written in thoroughly modern Common Lisp.
- todolist-cl 3.0 - a todolist web UI, written in Common Lisp, with Hunchentoot, Spinneret templates, Mito ORM. (by a CL newcomer)
- iescrypt: a tool to encrypt and/or sign files. Lisp and C versions.
Other articles
- A Tour of the Lisps
- Why I chose Common Lisp
- practicing statistics with Common Lisp (Jupyter notebook)
- Full Common Lisp (sbcl) and a CLOG dev environment on/from an Android device
Videos
Demos:
- AudioVisual in CommonLisp (cl-collider, cl-visual) (screencast)
- Cheesy trailer for recent kons-9 3D graphics features.
- Drum N Bass in CommonLisp
- Drum and Bass with a Counterpoint - How to Tutorial - Opusmodus
- How Lisp is designing Nanotechnology (Developer Voices, with Prof. Christian Schafmeister) (Youtube)
- How to Package Common Lisp Software for Linux? EN Subs (alien-works-delivery, linux-packaging)
- Melodic Techno - How to Tutorial - Opusmodus
- The Opusmodus Studio - Everything I didn’t know I needed - Subject Sound (YouTube)
- Welcome to Opusmodus (Youtube)
- Identicons and Clozure Common Lisp, by R. Matthew Emerson
Web:
- Dynamic Page With HTMX and Common Lisp
- Common Lisp web development tutorial: how to build a web app in Lisp · part 2 part 1
- Missing Clack Guide! Build a Web Application in Common Lisp Like a Pro!
- URL shortener using Hunchentoot and BKNR
- web page graphics with lisp-stat, data-frame and vega plot
More from the ELS (see their Youtube channel):
- An Introduction to Array Programming in Petalisp, by Marco Heisig, ELS 2024
- Lightning Talk: Julia Functions, Now in Lisp
- Lightning Talk: Valtan: Write Webapp Everything in Common Lisp: European Lisp Symposium
- ELS2023: Common Lisp Foundation
Learning:
- I published 17 videos about Common Lisp macros - learn Lisp with a code-first tutorial comments
- Common Lisp Study Group: experiments with CFFI
- CLOS: Introduction and usage of defclass
- Nekoma Talks #19 - Common Lisp from a Clojurian perspective Part 2 (YouTube), part 1
- Review of 8 Common Lisp IDEs! Which one to choose? (EN Subs)
Aaaand that’s it for the tour of the last couple years. Tell me if I missed something. I’ll keep updating this post for a few days.
Happy lisping and show us what you build!