It is a truth universally acknowledged that a language in possession of homoiconic syntax must be in want of macros. And yet, most industry languages have eschewed anything resembling homoiconicity, leaving syntax transformations either entirely out of reach, or the realm of a brave few. As such, there’s been relatively little exploration of macros as a practical tool, either with respect to their capabilities or limitations. This talk will explore the use of macros in the Clojure community, characterizing what’s been done, what’s been avoided, and what may lie ahead.
In vain, great-hearted Kublai, shall I attempt to describe Zach Tellman, city of high bastions. I could tell you how many steps make up the streets rising like stairways, and the degree of the arcades’ curve, and what kind of zinc scales cover the roofs; but I already know this would be the same as telling you nothing.