-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Numeric identifiers for values. -- -- Useful for situations where repeated-storage requirements of values -- become too costly. @package identifiers @version 0.4.1.0 module Data.Identifiers.ListLike data Identifiers i n u -- | The empty Identifiers empty :: Identifiers i n u -- | New Identifiers from list fromList :: (ListLike n u, Eq u, Integral i) => [n] -> Identifiers i n u -- | Insert item into set (given it a new id) insert :: (ListLike n u, Eq u, Integral i) => Identifiers i n u -> n -> Identifiers i n u -- | Insert many items into set insertMany :: (ListLike n u, Eq u, Integral i) => Identifiers i n u -> [n] -> Identifiers i n u size :: Identifiers i n u -> Int -- | New List from Identifiers toList :: Identifiers i n u -> [n] -- | Find id for given key lookupId :: (Eq u, ListLike n u) => Identifiers i n u -> n -> Maybe i -- | Find key for given id lookupKey :: (Integral i) => Identifiers i n u -> i -> Maybe n -- | Given many ids, return many keys lookupKeys :: (Integral i) => Identifiers i n u -> [i] -> [n] unsafeLookupId :: (ListLike n u, Eq u) => Identifiers i n u -> n -> i unsafeLookupKey :: Integral i => Identifiers i n u -> i -> n (!) :: Integral i => Identifiers i n u -> i -> n -- | Items inserted are given ids prop_hasId :: String -> Bool -- | Inserted items have stable ids prop_stableId :: String -> Bool -- | Given id can be used to fetch inserted item prop_keyRetrieval :: [String] -> Bool -- | Given id can be used to fetch inserted item prop_keyRetrievalUnsafe :: [String] -> Bool -- | Inserting something more than once does not change the set prop_idempotent :: String -> Bool instance (GHC.Classes.Eq n, GHC.Classes.Eq i, GHC.Classes.Eq u) => GHC.Classes.Eq (Data.Identifiers.ListLike.Identifiers i n u) instance GHC.Show.Show n => GHC.Show.Show (Data.Identifiers.ListLike.Identifiers i n u) instance (Data.Binary.Class.Binary n, Data.ListLike.Base.ListLike n u, GHC.Real.Integral i, GHC.Classes.Eq u) => Data.Binary.Class.Binary (Data.Identifiers.ListLike.Identifiers i n u) instance (Data.Serialize.Serialize n, Data.ListLike.Base.ListLike n u, GHC.Real.Integral i, GHC.Classes.Eq u) => Data.Serialize.Serialize (Data.Identifiers.ListLike.Identifiers i n u) instance (Control.DeepSeq.NFData i, Control.DeepSeq.NFData n, Control.DeepSeq.NFData u) => Control.DeepSeq.NFData (Data.Identifiers.ListLike.Identifiers i n u) module Data.Identifiers.Hashable data Identifiers i a -- | The empty Identifiers empty :: Identifiers i a -- | New Identifiers from list fromList :: (Integral i, Hashable a, Eq a) => [a] -> Identifiers i a -- | Insert item into set (given it a new id) insert :: (Integral i, Hashable a, Eq a) => Identifiers i a -> a -> Identifiers i a -- | Insert many items into set insertMany :: (Integral i, Hashable a, Eq a) => Identifiers i a -> [a] -> Identifiers i a size :: Identifiers i a -> Int -- | New List from Identifiers toList :: Identifiers i a -> [a] -- | Find id for given key lookupId :: (Hashable a, Eq a) => Identifiers i a -> a -> Maybe i -- | Find key for given id lookupKey :: (Integral i) => Identifiers i a -> i -> Maybe a -- | Given many ids, return many keys lookupKeys :: (Integral i) => Identifiers i a -> [i] -> [a] unsafeLookupId :: (Hashable a, Eq a) => Identifiers i a -> a -> i unsafeLookupKey :: Integral i => Identifiers i a -> i -> a (!) :: Integral i => Identifiers i a -> i -> a -- | Items inserted are given ids prop_hasId :: String -> Bool -- | Inserted items have stable ids prop_stableId :: String -> Bool -- | Given id can be used to fetch inserted item prop_keyRetrieval :: [String] -> Bool -- | Given id can be used to fetch inserted item prop_keyRetrievalUnsafe :: [String] -> Bool -- | Inserting something more than once does not change the set prop_idempotent :: String -> Bool instance (GHC.Classes.Eq i, GHC.Classes.Eq a) => GHC.Classes.Eq (Data.Identifiers.Hashable.Identifiers i a) instance GHC.Show.Show a => GHC.Show.Show (Data.Identifiers.Hashable.Identifiers i a) instance (Data.Binary.Class.Binary i, GHC.Classes.Eq a, Data.Hashable.Class.Hashable a, Data.Binary.Class.Binary a) => Data.Binary.Class.Binary (Data.Identifiers.Hashable.Identifiers i a) instance (Data.Serialize.Serialize i, GHC.Classes.Eq a, Data.Hashable.Class.Hashable a, Data.Serialize.Serialize a) => Data.Serialize.Serialize (Data.Identifiers.Hashable.Identifiers i a) instance (Control.DeepSeq.NFData i, Control.DeepSeq.NFData a) => Control.DeepSeq.NFData (Data.Identifiers.Hashable.Identifiers i a)