Talks
Events

Illuminated Macros

Chris Houser, Jonathan Claggett at Clojure/conj 2013

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.

Chouser is a co-author of Joy of Clojure and has been a Clojure contributor since 2008. He currently uses Clojure full time at LonoCloud (ViaSat), where he uses macros more often than refs.

Jonathan is a more recent Clojure convert whose fear of parens kept him in darkness for far too long. He also uses Clojure full time at LonoCloud and writes the macros Chouser refuses to.