This workshop was originally presented at Clojure/West 2015, and was concurrently open-sourced to help out folks who weren't able to attend the workshop at a conference, but who still want to learn about macros.
Please feel free to open an issue if you have any questions! It doesn't have to be a mistake in the materials, though I'd like to hear about any of those you find as well!
Get in touch with me (@trptcolin) if you have any questions or would like me to facilitate this workshop at your conference or user group.
The general approach here is to help attendees really grok the fundamentals. Macros are mostly difficult when we lose track of what mode of interpretation (code vs. data) we're using at any given time. So the demos and exercises concentrate primarily on a rock-solid understanding on how to generate code, and how to avoid some problem areas that tend to trip up budding macro writers.
These materials are designed such that you work in cycles, starting with the
first entry in the demo material, under doc/macro-workshop/demo
(ideally with
an experienced macro Clojurist and macro writer available for questions), and
proceed to complete the exercises as described in the file under
doc/exercises
corresponding to the session you're on.
Copyright © 2015 Colin Jones
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.