mmsyn2-hashable-0.1.0.0: A library that can be used for multiple Hashable a => a -> b transformations.
Copyright(c) OleksandrZhabenko 2021
LicenseMIT
Maintainerolexandr543@yahoo.com
StabilityExperimental
Safe HaskellNone
LanguageHaskell2010

Case.Hashable.Cuckoo

Description

A library that can be used as a case ... of constuction analogue for the Hashable keys. For the large lists can be more time efficient than CaseBi.Arr.getBFst' analogue. For the lists of Ints the benchmarks does not show significant improvements, but it definitely uses more memory if linked statically. If you plan to use it together with the former one, please, use qualified import to avoid names ambiguity.

Documentation

getBFstL' :: (Eq k, Hashable k) => v -> [(k, v)] -> k -> v Source #

lookup2 :: (Eq k, Hashable k) => [(k, v)] -> k -> ST s (Maybe v) Source #

lookup2Sized :: (Eq k, Hashable k) => Int -> [(k, v)] -> k -> ST s (Maybe v) Source #

lookupL :: (Eq k, Hashable k, Traversable t) => [(k, v)] -> t k -> ST s (t (Maybe v)) Source #

lookupLSized :: (Eq k, Hashable k, Traversable t) => Int -> [(k, v)] -> t k -> ST s (t (Maybe v)) Source #

getBFstLL' :: (Eq k, Hashable k) => b -> [(k, b)] -> [k] -> [b] Source #

getBFstLArr' :: (Hashable k, Ix i, Eq k) => b -> [(k, b)] -> Array i k -> Array i b Source #

getBFstLSized' :: (Eq k, Hashable k) => Int -> v -> [(k, v)] -> k -> v Source #

getBFstLLSized' :: (Eq k, Hashable k) => Int -> b -> [(k, b)] -> [k] -> [b] Source #

getBFstLArrSized' :: (Hashable k, Ix i, Eq k) => Int -> b -> [(k, b)] -> Array i k -> Array i b Source #