Omid's Blog

Rants on FOSS, tech, homeprod, music and other stuff.

Getting Into (common) Lisp

Mon Aug 17 23:05:18 2026

These last weeks I’ve been getting really into Lisps. Now mind you, I use Emacs as an editor, I sometimes teach compsci (at highschool) with scheme, but I’ve been really looking for a new programming language to focus on, and my criteria has not been simple. What those criteria were is not that important right now, but in the end I kind of went with common lisp as the language I want to focus on. Today I was nerding out about it with my partner, and I had a realization of how truly different developing for common lisp is in contrast with most other programming languages. Most people reading this will have more knowledge about Lisp than I do, and this article is to help me put my learnings into words, so bear with me.

The image based approach to writing programs is certainly novel. In common lisp, you have a Lisp process running, and you can evaluate code to go in it. You can write directly in the REPL, or write in a file and evaluate the buffer, or evaluate a single function1. Meaning, you modify your stock image till it is the program that you want2. You evaluate, fix, evaluate, write, read, evaluate, print until you have a program that you want and then you can save it. Every time you want this program, you can load it again in a fresh image, or you can have the program compile itself with (sb-ext:save-lisp-and-die "name-of-program" :executable t :toplevel #'top-level-function) and I think that’s really funny. Not using a compiler, but running a function into the interpreter to have it make a snapshot of itself is just a very self-aware type of compilation, that whilst initially absolutely foreign to me, found a way into my heart. There is something that tickles my brain when a program speaks in the terms of the program itself.

I shall nerd out even more in the future about common lisp. I sometimes look at my copy of PAIP and do some exercises, but I am looking forward to buying “Common LISP: A Gentle Introduction to Symbolic Computation” by D. Touretzky. I think that’s a book that I can also use well for teaching.

Footnotes:

1

This is sooooooo cool for education, especially when you pair it with something like sly-overlay-eval-defun for inline eval. Just 👌.

2

It kind of reminds me of minimalist distros such as Arch, where you are provided with an engine and are to put whatever you want on top of it.

Theme: Dracula  /  Fonts: Mononoki Nerd Font, Inter /  Der CSS dieser Website wurde mit Unterstützung von KI erstellt.
Meine Haltung zu LLMs und KI / Impressum / RSS