Fantastic series on Clojure persistent datastructure internals
I’ve just had the joy of stumbling onto this series by Jean Niklas L’orange about clojure persistent datastructure. I had gained a basic understanding of the theory of these before now but this series of posts break it all down really well, including the optimizations that make this datastructure (more) practical.
Understanding Persistent Vector - Part 1 Understanding Persistent Vector - Part 2 Understanding Persistent Vector - Part 3 Understanding Clojure Transients
Not only is fantastically written but Ι believe you could work through this series and write a decent persistent vector implementation by the end of it.
Top notch!