jwaldmann
jwaldmann
"options being discussed in the original paper" - you mean Okasaki and Gill 1998 https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.5452 ? This is for Maps, not Sets, so they don't have bitmaps in the leaves....
> `type IntSet = Word` see https://github.com/jwaldmann/containers/blob/intset%3Dword/containers-tests/benchmarks/IntSet.hs#L53 this gives results like ``` benchmarked instanceOrd:dense/16/@IntSet time 336.4 ms (333.0 ms .. 341.3 ms) benchmarked instanceOrd:dense/16/@Word time 274.1 ms (272.8 ms .....
Alternative (late April fool's) solution: make a function `genericSize :: Num a => IntSet -> a`, then use it for `a =` Peano numbers, where the naive implementations of `+`...
"preserve relative ordering" - Yes, that could be important for my application, as it might reduce runtime for intersections, because disjointness of maps can be detected early. There is no...
Intersection worst case is at least linear in both inputs, even if they represent disjoint sets of keys. Example: one map has [0,2 .. N] as keys, other map has...
Yes. I am partially aware of these tradeoffs. The text of your message should be atop the docs for containers.
Is this superseded by #653 now?
> Is `Large` a good way to get that? I have no idea, and no experience. `Large` looked to me like one standard way to quickly get Ints that use...
I can make a PR. For both IntMap and IntSet?