From a calculator to a compiler for Python itself: a lexer, a parser, a type checker, a tree-walking interpreter, a bytecode virtual machine with a garbage collector, an optimiser working on SSA form, and two back ends — one emitting RISC-V assembly run on an emulator in the page, one emitting WebAssembly the browser itself runs. Thirty-four volumes; every program passes through the pipeline in front of you and must print exactly what CPython prints, and every plate is in English and Chinese.