O'Reilly logo

Clojure Applied by Alex Miller, Ben Vandgrift

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Persistent Data Structures

Clojure’s core functionality focuses on immutable values, emphasizing the functional approach of consuming a value and returning a new, updated value. This facilitates concurrency, because the old value can be viewed by another thread without vanishing or updating unpredictably. To both approach immutability and create “new” values efficiently, these values are implemented as persistent data structures.

This idea was first fully realized by Driscoll, Sarnak, Sleator, and Tarjan in a 1986 paper Making Data Structures Persistent [DSST89] in the Journal of Computer and Systems Sciences.[78] Naturally, it drew on dozens of other sources and prior publications. The paper covered many different techniques by which persistence ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required