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.