The Fox and the Hedgehog. (Communications of the ACM, 2012)
The article discusses software engineering and code generation. The author examines a paper in the issue by Tiark Rompf and Martin Odersky on the use of lightweight modular staging (LMS), which uses a type system to create programs with many computation states, noting that language features including overriding and method inheritance can be used for code specialization. The author concludes that ideas like LMS can be used to write general programs which have high computational efficiency.