Sila Dev Log: Getting Back in the Saddle and Starting From Scratch

Posted on 25th of July 2025 | 402 words
Plug: Follow the Sila development here.

Some time ago, I was quite actively working on my very own compiler project whenever I had some spare time. Unfortunately, due to personal time constraints, this project has been on the back-burner for a while. Life got busy, and I haven’t really had the time or energy to dive back in.

Another reason for the pause was that I had coded myself a little bit into a corner, mostly due to early architectural decisions that didn’t scale well. At one point, I even attempted a refactor. Thankfully, the codebase was still relatively small, but even then, it proved to be a frustrating experience.

A big part of that frustration came from the dynamic nature of Common Lisp, which, at least in my personal experience, made larger-scale refactoring feel “unnecessarily” difficult. Of course, I fully admit this is largely a skill issue, not an inherent flaw of the language. I still love Lisp. Its flexibility, its macro system, and its directness are all things I deeply value.

And I haven’t stopped using it entirely either. I still use Opusmodus for composing and analyzing music, a beautiful example of what Common Lisp can enable in creative domains.

That said, I’ve been feeling the itch to return to more hands-on, low-level programming, especially with all the noise around AI agents, LLMs, and increasingly abstracted tools. Watching the landscape shift so rapidly, I’ve found myself wanting to ground myself again in real systems. To work with code that’s close to the metal, conceptually speaking. A compiler project in Common Lisp still feels like one of the best ways to do that. There was a moment when I considered switching the project to another language, something statically typed, like Haskell. But for this project, I’m sticking with Lisp.

I want to embrace what drew me to it in the first place: the raw expressiveness, the macro system, and the joy of shaping abstractions without ceremony. I also think that, with better architectural planning this time around, many of the pain points I hit previously can be avoided.

So, this is a fresh start, but also a continuation. A personal reboot.

I’m back to working on the compiler again, in Common Lisp, and I plan to start posting regular updates. If you’re interested in programming languages, compiler internals, or just enjoy seeing how things evolve over time, feel free to follow along.

Let’s see where this leads.

NB: If you want to read earlier posts of this dev log, head over here.