Yes, and I also think that this discussion needs to mention the facilities Clojure provides to help you with macros.
For example, with simpler macros like -> and ->>, I recommend that curious people macroexpand them, to get a feel for what they mean. Your GUI can make this even easier, like if I put the cursor at the beginning of the following and hit M-x slime-macroexpand-all:
Or if I do M-. , I get to see the sourcecode. This of course is daunting to beginners, but they can easily mess with the sourcecode, tear it apart, and get to the level where they can just kind of scan smaller macros and get a rough idea of how it's doing its job.
(I realize the author probably knows these things. But I definitely consider -> and ->> to be such a readability win, and hope that people like them.)
For example, with simpler macros like -> and ->>, I recommend that curious people macroexpand them, to get a feel for what they mean. Your GUI can make this even easier, like if I put the cursor at the beginning of the following and hit M-x slime-macroexpand-all:
I see: Or if I do M-. , I get to see the sourcecode. This of course is daunting to beginners, but they can easily mess with the sourcecode, tear it apart, and get to the level where they can just kind of scan smaller macros and get a rough idea of how it's doing its job.(I realize the author probably knows these things. But I definitely consider -> and ->> to be such a readability win, and hope that people like them.)