Modules
Pick a module and start building. Each module guides you through building one complete system from scratch.
Build an Interpreter
Write an `evaluate` function and grow it from arithmetic to a small language with variables, functions, conditionals, and data structures. By the end, you understand these constructs more deeply, because you built them yourself.
11 Problems
interpreter recursion evaluation functions
Build Hangman
Build a word-guessing game by breaking it into small, testable pieces. Learn to decompose a problem into functions and write tests that check your own work.
5 Problems
tdd testing game-logic functions
Build a Compiler
Coming SoonWrite a `compile` function that turns the same language you interpreted into stack bytecode, then build the virtual machine that runs it. By the end, you see both halves of what "compile" means -- and the hidden dependency your VM leans on.
8 Problems
compiler bytecode virtual-machine closures stack-machine