Wrapping Up
In this chapter we had our first look at the deeper ideas of functional programming. We saw that in Clojure functions are values—values that you can create, bind to names, and pass around. We also saw that closures allow you to create custom-tailored functions that remember the bindings that existed when they were created. We also looked at some of the helpers that Clojure provides to aid you in the task of creating just the function you need for the task at hand. Finally, we took a quick look at the idea of a pure function: a function that neither relies on nor generates side effects.
Now that you understand what makes Clojure a functional language, it’s time to turn to one of the stickiest issues of any programming language: naming ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access