Metaprogramming — Professional¶
Rust procedural macros operate on token streams; Scala and Lisp expose richer compile-time forms; Java annotation processors generate sources; Python metaclasses and decorators run in a dynamic runtime. Each places cost and failure at a different stage.
Govern generator ownership, hermetic builds, expansion size, compile time, diagnostics, and supply-chain trust. Further reading: Rust procedural macro reference, Lisp macro hygiene literature, Java annotation processing specification, and Python data model.