[$] Rust's incremental compiler architecture
The traditional structure of a compiler forms a pipeline - parsing,type-checking, optimization, and code-generation, usually in that order. Butmodern programming languages have requirements that are ill-suited to such adesign. Increasingly, compilers are moving toward other designs inorder to support incremental compilation and low-latency responses for useslike integration into IDEs. Rust has, for the last eight years, been pursuing aparticularly unusual design; in that timecompile times havesubstantially improved, but there's still more work to be done.