The notion of a software language
A story of a domain-specific language
Foundations of tree- and graph-based abstract syntax
Representation of object programs in metaprograms
A suite of metaprogramming scenarios
Foundations of textual concrete syntax
Implementation of textual concrete syntax
A primer on operational semantics
An excursion into the lambda calculus
An ode to compositionality
A suite of metaprogramming techniques.