cuckoo-filter-0.2.0.2: Pure and impure Cuckoo Filter

Copyright(c) Chris Coffey 2018
LicenseMIT
Maintainerchris@foldl.io
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Data.CuckooFilter.Pure

Description

A strict IntMap-based implementation of a cuckoo filter. This is still quite efficient in terms of throughput, but the IntMap's internal structures baloon the memory usage, making it far less practical for real usecases.

Synopsis

Documentation

data Filter a Source #

A Cuckoo Filter with a fixed size. The current implementation uses 8 bit fingerprints and 4 element buckets.

Constructors

F 
Instances
Monad m => CuckooFilter Filter m Source # 
Instance details

Defined in Data.CuckooFilter.Pure

Eq (Filter a) Source # 
Instance details

Defined in Data.CuckooFilter.Pure

Methods

(==) :: Filter a -> Filter a -> Bool #

(/=) :: Filter a -> Filter a -> Bool #

Show (Filter a) Source # 
Instance details

Defined in Data.CuckooFilter.Pure

Methods

showsPrec :: Int -> Filter a -> ShowS #

show :: Filter a -> String #

showList :: [Filter a] -> ShowS #

Generic (Filter a) Source # 
Instance details

Defined in Data.CuckooFilter.Pure

Associated Types

type Rep (Filter a) :: Type -> Type #

Methods

from :: Filter a -> Rep (Filter a) x #

to :: Rep (Filter a) x -> Filter a #

ToJSON (Filter a) Source # 
Instance details

Defined in Data.CuckooFilter.Pure

FromJSON (Filter a) Source # 
Instance details

Defined in Data.CuckooFilter.Pure

Serialize (Filter a) Source # 
Instance details

Defined in Data.CuckooFilter.Pure

Methods

put :: Putter (Filter a) #

get :: Get (Filter a) #

type Rep (Filter a) Source # 
Instance details

Defined in Data.CuckooFilter.Pure

type Rep (Filter a) = D1 (MetaData "Filter" "Data.CuckooFilter.Pure" "cuckoo-filter-0.2.0.2-B7QL3ZxFbHGZXnXJGf4MU" False) (C1 (MetaCons "F" PrefixI True) (S1 (MetaSel (Just "buckets") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (IntMap Bucket)) :*: (S1 (MetaSel (Just "numBuckets") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Natural) :*: S1 (MetaSel (Just "size") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Size))))