Fortifying Macros. Ryan Culpepper, Matthias Felleisen, ICFP 2010.
Existing macro systems force programmers to make a choice between clarity of specification and robustness. If they choose clarity, they must forgo validating significant parts of the specification and thus produce low-quality language extensions. If they choose robustness, they must write in a style that mingles the implementation with the specification and therefore obscures the latter. This paper introduces a new language for writing macros. With the new macro system, programmers naturally write robust language extensions using easy-to-understand specifications. The system translates these specifications into validators that detect misuses—including violations of context-sensitive constraints—and automatically synthesize appropriate feedback, eliminating the need for ad hoc validation code.
Presents syntax-parse
, which seems like a truly great advancement over existing macro writing facilities.
Recent comments
3 hours 3 min ago
4 hours 51 min ago
5 hours 57 min ago
8 hours 5 min ago
12 hours 16 min ago
1 day 50 min ago
1 day 52 min ago
1 day 1 hour ago
1 day 8 hours ago
1 day 8 hours ago