If you give someone Fortran, he has Fortran. If you give someone Lisp, he has any language he pleases.
1 Afterword in The Seasoned Schemer by Daniel P. Friedman and Matthias Felleisen (MIT Press, 1995).
This chapter covers
Macros are where the rubber of “code is data” meets the road of making programs simpler and cleaner. To fully understand macros, you need to understand the different times of Clojure: read time, macro-expansion time, compile time, and runtime. Macros perform the bulk of their work at compile time. We’ll ...