Swift Intermediate Language: https://llvm.org/devmtg/2015-10/slides/GroffLattner-SILHighLevelIR.pdf interesting design choices include parametrised basic blocks and stack vars by default.
miniblog.
Related Posts
Bril is a cute intermediate language for teaching (think simplified LLVM IR): https://www.cs.cornell.edu/~asampson/blog/bril.html
The idea of providing a standard JSON format to help students write basic passes is really elegant.
Tectonic is a fabulous new implementation of TeX that doesn't require a large distribution, doesn't write intermediate files, and automatically loops TeX and BibTeX!
TIL eager macro expansion can mean very different things.
Rust macros must expand to valid code, so eager macro expansion allows illegal intermediate states: https://docs.rs/eager/0.1.0/eager/macro.eager.html#macro-expansions
Elisp macros are expanded at runtime unless expansion is eager: