Chapter 20Macros

We programmers both love and hate code. We love it because it’s what we make. Line by painful line we labor over our keyboards, producing symbols and strings and numbers and—this being Clojure—parentheses, lots of parentheses. We hate code because the pain never stops. Every line of code needs to be debugged and tested and deployed and updated and recompiled and … well, you get it.

It’s exactly because code is so painful that we try to have as little of it as we can—and why we try to keep it as concise and as expressive as we possibly can. Keeping code concise and expressive is a multilevel job. On the large scale, we struggle to find a solid design. At the medium scale, we try to pick data structures and an execution flow ...

Get Getting Clojure now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.