February 18, 2026

Making a Lisp Compiler with Vibe Coding



 


I recently finished building my own Lisp compiler. This has been a long-term interest of mine, dating back to an interview I read as a kid with Gary Kildall, the creator of CP/M. I tried P-LISP then, but I was too young to stick with it. Over the years, I kept poking at the language, but I never really connected with the traditional Emacs and SLIME workflow. It wasn't until VS Code and the Alive extension that the environment felt right.

I've always liked how Lisp forces you to think deeply, but I've been frustrated by its lack of progress. Deployment is often difficult, and compilers like SBCL produce massive size of executable because they bundle the entire runtime and garbage collector. After looking at various other Lisp implementations and not finding what I wanted, I decided to build my own.

Using Cursor and a "vibe coding" approach, I put together a working version in a few days and spent a few more refining it. It isn't perfect, but it works. I chose to avoid a heavy garbage collector in favor of reference counting to keep the final executable small and the compiler streamlined.

This project made me think about the history of "low-code" tools. I remember using Garry Kitchen’s GameMaker on the Apple II in the 80s; it is still impressive what he achieved with only 64KB of RAM. While the industry has tried and failed to make coding "easy" for decades, tools like Cursor finally make the process feel fluid.

Working with the AI still requires me to know exactly what I want and to supervise the architectural choices, but it significantly compresses the timeline. Without it, re-learning the specifics of ELF formats, Linux system calls, and compiler theory would have taken months. Instead, I have a compiler that produces native Linux executable after just a few days of work.

In the past, bringing an idea to life required years of discipline and a painful amount of effort to navigate endless frameworks and platforms. It was often more exhausting than it was rewarding. Now, that friction is gone. I can finally focus on the build itself, making the act of creation fun again without the usual pain.


















No comments: