List of Figures

 

Chapter 1. Introducing Clojure

Figure 1.1. Representation of a tree of values called xs. Used with permission from https://commons.wikimedia.org/wiki/File:Purely_functional_tree_before.svg.

Figure 1.2. Representation of new tree ys. Used with permission from https://commons.wikimedia.org/wiki/File:Purely_functional_tree_after.svg.

Figure 1.3. Parentheses for calling functions

Figure 1.4. Nested parentheses for calling functions

Chapter 4. Multimethod polymorphism

Figure 4.1. The hierarchy of profit rating levels as explained by the business folks. You can use this external-facing classification to simplify your code by defining a dispatch hierarchy reflecting this structure.

Chapter 5. Exploring Clojure and Java interop

Figure 5.1. Typical organization of a Clojure project. The src directory contains the source code, organized in a similar way to Java packages.

Figure 5.2. Adding two new files, dcf.clj and fcf.clj, in a subdirectory of utils that have code for the same com.curry.utils.calculators namespace.

Chapter 6. State and the concurrent world

Figure 6.1. It’s important to recognize the separation between what we’re talking about (say, favorite movies, which is an identity) and the values of that identity. The identity itself never changes, but it refers to different values over time.

Figure 6.2. A reference that points to completely different immutable values over time