Data Structures in Clojure: Binary Search Trees(macromancy.com)
macromancy.com
Data Structures in Clojure: Binary Search Trees
http://macromancy.com/2014/04/09/data-structures-clojure-trees.html
2 comments
Mutable fields are really hard to use correctly in Clojure, but it's good to see an appropriate use case for `:volatile-mutable` in the implementation of these data structures.
Mutable fields are really hard to use correctly in any language, and that's why Clojure encourages the use of immutable data. Thus I find it really odd that the article builds a mutable binary tree. The immutable version would have been equally simple. And now you can't put that tree into any of the Clojure's reference types (ref, agent, atom).
https://github.com/clojure/clojure/blob/master/src/jvm/cloju...