Chapter 3. Building blocks of Clojure


This chapter covers

  • Clojure functions in more depth
  • Scope rules in Clojure
  • Clojure namespaces
  • Clojure’s destructuring feature
  • Clojure metadata


When people are good at something already (such as a programming language), and they try to learn something new (such as another programming language), they often fall into what Martin Fowler calls an improvement ravine. For programming, the ravine refers to the drop in productivity experienced when one has to relearn how to do things in the new language. I’ve been guilty of switching back to a language I’m already good at in order to get the job done. It sometimes takes me several attempts to get over enough of the ravine to get simple things done. The next ...

Get Clojure in Action now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.