BSD-3-Clause licensed by Johan Tibell
Maintained by [email protected]
This version can be pinned in stack with:unordered-containers-,5199

Module documentation for

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.


  • Add HashMap.alterF.

  • Add HashMap.keysSet.

  • Make HashMap.Strict.traverseWithKey force the results before installing them in the map.

  • Add Ord/Ord1/Ord2 instances. (Thanks, Oleg Grenrus)

  • Use SmallArray# instead of Array# for GHC versions 7.10 and above. (Thanks, Dmitry Ivanov)

  • Adjust for Semigroup => Monoid proposal implementation. (Thanks, Ryan Scott)

Bug fixes

  • Fix a strictness bug in fromListWith.

  • Enable eager blackholing for pre-8.2 GHC versions to work around a runtime system bug. (Thanks, Ben Gamari)

  • Avoid sketchy reimplementation of ST when compiling with recent GHC.

Other changes

  • Remove support for GHC versions before 7.8. (Thanks, Dmitry Ivanov)

  • Add internal documentaton. (Thanks, Johan Tibell)

  • Add Eq1/2, Show1/2, Read1 instances with base-4.9

  • Eq (HashSet a) doesn’t require Hashable a anymore, only Eq a.

  • Add Hashable1/2 with hashable-

  • Add differenceWith function.

  • Don’t use -fregs-graphs

  • Fix benchmark compilation on stack.

  • Fix linker error related to popcnt.

  • Haddock improvements.

  • Fix benchmark compilation when downloaded from Hackage.

  • Support criterion 1.1

  • Add unionWithKey for hash maps.

  • Mark several modules as Trustworthy.

  • Add Hashable instances for HashMap and HashSet.

  • Add mapMaybe, mapMaybeWithKey, update, alter, and intersectionWithKey.

  • Add roles.

  • Add Hashable and Semigroup instances. (2014-10-11)

  • Support base-4.8