> So O(log n) then. We obey gravity around these parts.
Which is of no practical difference to O(1) if log n is always very small.
> I presume you are referring to HAMT-like structures... which are by no means unique to Clojure.
Of course they're not. My point was that it is not trivial to derive a efficient and useful data structure like a HAMT from Haskell's type system. The data structures in a library like unordered-containers are in practise just as opaque to the developer as the core data structures in Clojure.
No it isn't, at least not in any meaningful way. The type definition itself may be 6 lines, but that doesn't adequately describe the data structure, otherwise there'd be no need for the rest of the library.
Which is of no practical difference to O(1) if log n is always very small.
> I presume you are referring to HAMT-like structures... which are by no means unique to Clojure.
Of course they're not. My point was that it is not trivial to derive a efficient and useful data structure like a HAMT from Haskell's type system. The data structures in a library like unordered-containers are in practise just as opaque to the developer as the core data structures in Clojure.