Tag Archives: persistent data structures

Assoc and Clojure’s PersistentHashMap: part ii

Some time ago I wrote introductory posts that gave high-level overviews of how Clojure’s PersistentVector and PersistentHashMap work. In the PersistentHashMap post I promised that “In part 2 we look at how assoc works…” – it seems I never got … Continue reading

Posted in Clojure | Tagged | 2 Comments

clj-ds: Clojure’s persistent data structures for Java

One of the appealing features of Clojure is the pervasive use of (efficient!) persistent data structures. (In previous posts I’ve shed some light on how PersistentHashMap and PersistentVector are implemented, although some of that information is slightly dated now). There … Continue reading

Posted in Clojure, General | Tagged , , | 3 Comments

Understanding Clojure’s PersistentHashMap (deftwice…)

[sept. 8th, 21:22: fixed a +/- 1 error] In a previous post, I gave a high-level description of how Clojure’s PersistentVector is implemented. While the code has changed, the description was high-level enough that the explanations still hold (although some … Continue reading

Posted in Clojure | Tagged , , | 6 Comments

Understanding Clojure’s PersistentVector implementation

Update: See also the description of PersistentHashMap. One of the unique features of Clojure is that the core data structures are persistent (immutable with efficient structural sharing). This includes data structures Vector and Map that are mutable in most other … Continue reading

Posted in Clojure | Tagged , | 11 Comments