Macros that Work Together: Compile-Time Bindings, Partial Expansion, and Definition Contexts
Flatt, Culpepper, Darais, and Findler
Journal of Functional Programming, 22(2), 2012
March 2012 draft
includes April 2014 typo repairs
Models from the paper: models.zip