4 ms·
From the paper I cited below: The immutable vector data structure as pioneered by the programming language Clojure [4] strikes a good balance between read and
by swannodette 13y ago
From the paper I cited below:
The immutable vector
data structure as pioneered by the programming language Clojure
[4] strikes a good balance between read and write performance and
supports many commonly used programming patterns in an effi-
cient manner. In Clojure, immutable vectors are an essential part
of the language implementation design. Ideal Hash Tries (HAMTs)
[1] were used as a basis for immutable hash maps and the same
structure, 32-way branching trees, was used for immutable vectors.
I'm pretty sure they picked the word pioneered for a reason. If Rich Hickey didn't invent them, then Tiark & Bagwell didn't invent RRB-Trees.
- jasonwatkinspdx 13y agoWell, it's arguable either way IMHO. I'd give priority to Bagwell because he first published his work academically in 2000. At the time he worked for Odersky, the author of the Scala language. So these structures were in Scala's implementation first, then adapted and improved for Clojure.
- modersky 13y agoPhil Bagwell was loosely associated with my group in 2000 but did not work for me then. His work at the time was theoretical; the first practical implementation is Clojure's. Scala's implementations only appeared in version 2.8, in 2010.
- jasonwatkinspdx 13y agoAwesome, thanks for the correction.
- brudgers 13y agoSince Rich Hickey isn't in academia, but instead a working programmer, using publication dates doesn't feel like it is the best criterion for determining who did what when.