Building, bending, and understanding languages and compilers for high-performance code.

This blog dives deep into the world of programming languages, compiler design, and systems engineering where theory meets performance.

I explore how languages shape the way we think and build software, with a current focus on C++, Mojo, Zig, and Rust, and a particular fascination with metaprogramming and how modern compilers are evolving to make it safer and more expressive. The content here is evolving, reflecting my experiments, discoveries, and the topics I hope to dive into.

From parsing theory and type systems to build pipelines and runtime internals, this is a space for detailed technical explorations, experiments, and reflections on the craft of building languages, tools, and systems that push boundaries.

Much of the material here serves as a foundation, explaining the core technologies I’m leveraging for my metaprogramming explorations. By detailing the features and limitations of languages like C++ and Mojo, or the mechanics of build systems, these posts provide the necessary context for the more advanced experiments and discussions to come.

Work in progress, sorry if things are incomplete