From e3da28295e11972bcb14749ef294d1f39fb03efa Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 16 Jun 2015 18:37:41 -0400 Subject: instance Hashable Key for bloomfilter --- Annex/BloomFilter.hs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Annex') diff --git a/Annex/BloomFilter.hs b/Annex/BloomFilter.hs index 3dcd8140b..3ac81fa58 100644 --- a/Annex/BloomFilter.hs +++ b/Annex/BloomFilter.hs @@ -40,14 +40,14 @@ bloomBitsHashes = do - Once the action completes, the mutable filter is frozen - for later use. -} -genBloomFilter :: Hashable t => (v -> t) -> ((v -> Annex ()) -> Annex b) -> Annex (Bloom t) -genBloomFilter convert populate = do +genBloomFilter :: Hashable v => ((v -> Annex ()) -> Annex b) -> Annex (Bloom v) +genBloomFilter populate = do (numbits, numhashes) <- bloomBitsHashes bloom <- lift $ newMB (cheapHashes numhashes) numbits - _ <- populate $ \v -> lift $ insertMB bloom (convert v) + _ <- populate $ \v -> lift $ insertMB bloom v lift $ unsafeFreezeMB bloom where lift = liftIO . stToIO -bloomFilter :: Hashable t => (v -> t) -> [v] -> Bloom t -> [v] -bloomFilter convert l bloom = filter (\k -> convert k `notElemB` bloom) l +bloomFilter :: Hashable v => [v] -> Bloom v -> [v] +bloomFilter l bloom = filter (\v -> v `notElemB` bloom) l -- cgit v1.2.3