Efficient hashing-based container types. The containers have been
optimized for performance critical use, both in terms of large data
quantities and high speed.
The declared cost of each operation is either worst-case or
amortized, but remains valid even if structures are shared.
Changes
0.2.11.0
Add HashMap.findWithDefault (soft-deprecates HashMap.lookupDefault).
Thanks, Matt Renaud.
Add HashMap.fromListWithKey. Thanks, Josef Svenningsson.
Add more folding functions and use them in Foldable instances. Thanks,
David Feuer.
Add HashMap.!?, a flipped version of lookup. Thanks, Matt Renaud.
Add a Bifoldable instance for HashMap. Thanks, Joseph Sible.
Add a HasCallStack constraint to (!). Thanks, Roman Cheplyaka.
Bug fixes
Fix a space leak affecting updates on keys with hash collisions. Thanks,
Neil Mitchell. (#254)
Get rid of some silly thunks that could be left lying around. (#232).
Thanks, David Feuer.
Other changes
Speed up the Hashable instances for HashMap and HashSet. Thanks,
Edward Amsden.
Remove a dependency cycle hack from the benchmark suite. Thanks,
Andrew Martin.
Improve documentation. Thanks, Tristan McLeay, Li-yao Xia, Gareth Smith,
Simon Jakobi, Sergey Vinokurov, and likely others.
0.2.10.0
Add HashMap.alterF.
Add HashMap.keysSet.
Make HashMap.Strict.traverseWithKey force the results before
installing them in the map.