Persistent containers Map and Set based on hashing.

Version on this page:
LTS Haskell 12.22:1.3.3
Stackage Nightly 2018-12-15:1.3.3
Latest on Hackage:1.3.3

See all snapshots hashmap appears in

BSD3 licensed by Milan Straka
Maintained by Ryan Scott

Module documentation for

There are no documented modules for this package.


Hackage Hackage Dependencies Haskell Programming Language BSD3 License Build

:warning: Deprecated in favor of unordered-containers

An implementation of persistent Map and Set containers based on hashing. The implementation is build on top of Data.IntMap.IntMap and Data.IntSet.IntSet, with very similar API. It uses Hashable class from the hashable package for hashing.

This package can be used as a drop-in replacement for Data.Map and Data.Set modules.

The Map key value is an Data.IntMap.IntMap indexed by the hash value, containing either one (key, value) or a Data.Map.Map key value for all keys with the same hash value.

The Set elem is an Data.IntMap.IntMap indexed by the hash value, containing either one elem or Data.Set.Set elem for all elements with the same hash value.


= Version 1.3.3, 2018-01-02 =
* Add Semigroup instances for Map and Set

= Version 1.3.2, 2016-11-30 =
* Replace internal use of deprecated containers functions

= Version, 2016-06-09 =
* Ensure hashmap.h is distributed with the tarball

= Version 1.3.1, 2016-06-09 =
* GHC 8 compatibility

= Version, 2012-12-14 =
* Relax dependencies -- allow older versions of containers.
A new flag is introduced, because there are dependencies
between containers and deepseq versions: it is not possible
to compile with deepseq >= 1.2 and containers < 0.4.2.

= Version, 2012-12-11 =
* Add NFData instances.

= Version, 2011-09-21 =
* Add missing StandaloneDeriving and DeriveDataTypeable
GHC extensions to enable Typeable deriving. Also remove
PatternGuards extension, which was needed only once.

= Version, 2011-05-08 =
* Rename HashMap and HashSet to Map and Set.
That allows to use this package as a drop-in
replacement for Data.Map and Data.Set packages.
HashMap and HashSet types are kept as deprecated
type synonyms.

= Version, 2011-04-19 =
* Convert the repository to Git.

= Version 1.1.0, 2010-08-15 =
* Separating Hashable class to its own package
and depending on it.

= Version, 2010-08-07 =
* Improving the performance of HashSet and HashMap
by using (Some a) datatype. This speeds up the
case where only one value is stored for a given
hash. The performance gain is ~10% for delete,
~15% for insert, 20-50% for union.

= Version, 2010-06-01 =
* Improving performance of ByteString hash
by using inlinePerformIO.

= Version, 2010-05-30 =
* Doc fixes

= Version 1.0.0, 2010-05-30 =
* Adding module HashSet

= Version 0.9.0, 2010-05-29 =
* Initial versions of HashMap, Hashable
comments powered byDisqus