
Shared by @arshadyaseeen ↗
This post is about optimizing an extremely simple AST-walking interpreter for a dynamic language called Zef that I created for fun to the point where it is competitive with the likes of Lua, QuickJS, and CPython.

Another entry in the Toy Optimizer series.
Pages for posting about my work
A few years ago, I wrote a blog post on design issues in LLVM IR. Since then, one of these issues has been fixed fully (opaque pointers migration), one has been mostly fixed (constant expression removal), and one is well on the way towards being fixed (pt





If you can ctrl-c and ctrl-v, you can build a JIT.

A bytecode compiler and VM for a Forth-like language.

