DSL implementation using staging and monads. Pages 81--94 of: Domain-specific languages (1999)

by Tim Sheard, Zine-El-Abidine Benaissa