Illuminated Macros

0 0

Macros are notoriously hard to write, and often hard to use. Techniques like Macro By Example and tools like syntax-parse have attempted to address these problems as well as improve error messages users get when misusing macros. But not only are these tools unavailable in Clojure, but they come with their own issues. We will explain this background and explore alternatives that make different trade-offs, with the goal of making macros more modular, easier to write and understand, and that produce better error messages.