About a month ago I was recommended to read Mastering Clojure Macros: Write Cleaner, Faster, Smarter Code by Colin Jones. It’s a short book, and a few days ago I’ve finished it. And it’s a good book, it contains good examples of macros, explains how some macros from core and popular libraries (compojure, hiccup and etc) work, explains some pitfalls and best practices.
Also from this book I’ve learned about useful
name-with-attributes macro from
tools.macro, before that I’d always reinvented the wheel
when I needed to create
defsomething macro with docstrings and metadata support.