A comprehensive tutorial for building a compiler frontend for the Kaleidoscope language using MLIR, structured across ten chapters covering lexing, parsing, code generation, JIT compilation, and language extensions. The tutorial demonstrates how to implement a complete language compiler with both static and JIT compilation support, requiring only C++ knowledge and no prior compiler experience.
Rust stabilized its never type (!) after over two years of work, allowing functions that never return to be properly typed. The never type enables compiler optimizations for generic code and simplifies type inference by automatically coercing to any other type, since it represents computations that never produce values.
IR Framework is a practical JIT compilation solution for medium-sized projects that uses a graph-based Intermediate Representation inspired by Sea-Of-Nodes. It provides APIs for IR construction and optimization algorithms, and is used as the base for PHP JIT since PHP-8.4, though it remains under active development.