Fork me on GitHub
#clojure-dev
<
2019-11-15
>
andy.fingerhut00:11:04

So, I think I've finally figured out how to change core.rrb-vector, or another similar library, to guarantee its O(log N) performance of operations like subvec and concatenate, so happy about that.

👍 1
andy.fingerhut00:11:10

If conj/peek/pop all still gave O(log_{32} N) guaranteed run time for accessing the end of the vector, any good suggestions for what the corresponding operations on the beginning of the vector ought to be called?

hiredman00:11:12

I think the finger tree library has some prior art

hiredman00:11:48

I think it defines conjl and conjr?

andy.fingerhut00:11:51

Yeah, looking at that right now. peek -> first, of course, and pop -> rest makes sense. conj -> conjl ("conj left") is what finger-tree uses