BSD-3-Clause licensed by Johan Tibell
This version can be pinned in stack with:unordered-containers-0.2.20@sha256:5a3e730fb548640f2ec050ec7517af67deede21de51e32bbebf6b7b222e6d0f5,3921
Module documentation for 0.2.20
Used by 278 packages in
nightly-2024-07-13 (full list with versions ) :
aeson ,
aeson-combinators ,
aeson-extra ,
aeson-pretty ,
aeson-schemas ,
aeson-typescript ,
aeson-value-parser ,
aeson-warning-parser ,
aeson-yaml ,
Agda ,
authenticate ,
autodocodec ,
autodocodec-openapi3 ,
autodocodec-schema ,
aws ,
aws-lambda-haskell-runtime ,
aws-lambda-haskell-runtime-wai ,
basic-prelude ,
beam-migrate ,
beam-postgres ,
bimaps ,
binary-instances ,
Blammo ,
bloodhound ,
boltzmann-samplers ,
bugsnag ,
bugsnag-hs ,
bugsnag-wai ,
bugzilla-redhat ,
bytes ,
cache ,
casa-client ,
cassava ,
cassava-megaparsec ,
cayley-client ,
cborg-json ,
cereal-unordered-containers ,
charset ,
clash-ghc ,
clash-lib ,
and many more 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.
Security
This package currently provides no defenses against hash collision attacks
such as HashDoS.
Users who need to store input from untrusted sources are advised to use
Data.Map
or Data.Set
from the containers
package instead.
[0.2.20] - January 2024
Add HashMap.isSubmapOf[By]
and HashSet.isSubsetOf
. Thanks Sven Keidel. (#282 )
Expose internal modules. (#283 )
Documentation improvements in Data.HashSet
, including a beginner-friendly
introduction. Thanks Matt Renaud. (#267 )
HashMap.alterF
: Skip key deletion for absent keys. (#288 )
Remove custom unsafeShift{L,R}
definitions. (#281 )
Various other documentation improvements.
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
0.2.9.0
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)
0.2.8.0
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-1.2.6.0
Add differenceWith
function.
0.2.7.2
0.2.7.1
0.2.7.0
0.2.6.0
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.
0.2.5.1 (2014-10-11)
Stackage is a service provided by the
Haskell Foundation
│ Originally developed by
FP Complete