Miscellaneous Terms
Extra terms that show up across the ecosystem: macros, transducers, protocols, and other recurring concepts.
Some terms don’t fit neatly into one bucket but still show up often in Clojure discussions and libraries.
Use this section when you hit a term in the ecosystem and want a short, practical definition before diving back into the real code.
In this section
-
Homoiconicity
What homoiconicity means in Clojure, why code-as-data matters, and how Java developers should connect it to macros and metaprogramming.
-
Macros and Macro Expansion
What Clojure macros actually do, how macro expansion works, and why Java developers should prefer functions unless code transformation is truly needed.
-
Lazy Evaluation
What laziness means in Clojure sequences, where it helps, and what Java developers must watch for around chunking, side effects, and retained heads.
Revised on Saturday, May 23, 2026