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.