Over the past year, I’ve been following along with Robert Nystrom’s Crafting Interpreters book. This book provides a great introduction to anyone who wants to learn more about how programming languages work under the hood, and it helps demystify how programming languages, virtual machines, and compilers work. Even as someone who doesn’t work in the programming language world, I’ve found the book has given me a lot of interesting patterns and ideas that are useful for other projects I’m working on.

My implementation (and ports to other languages) are over on the Lox repo on my GitHub. My implementation includes a few language features not found in the core language that I thought would be useful for a full-fledged language.