Wrapping Up

Clojure’s reference model is the most innovative part of the language. The combination of software transactional memory, agents, atoms, and dynamic binding that you’ve seen in this chapter gives Clojure powerful abstractions for all sorts of stateful systems. It also makes Clojure one of the few languages suited to the coming generation of multicore computer hardware.

Next, we’ll look at one of Clojure’s newer features. Some call it a solution to the “expression problem.”[34] We call it a protocol.

Get Programming Clojure, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.