Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Identifiers i n u
- empty :: Identifiers i n u
- fromList :: (ListLike n u, Eq u, Integral i) => [n] -> Identifiers i n u
- insert :: (ListLike n u, Eq u, Integral i) => Identifiers i n u -> n -> Identifiers i n u
- insertMany :: (ListLike n u, Eq u, Integral i) => Identifiers i n u -> [n] -> Identifiers i n u
- size :: Identifiers i n u -> Int
- toList :: Identifiers i n u -> [n]
- lookupId :: (Eq u, ListLike n u) => Identifiers i n u -> n -> Maybe i
- lookupKey :: Integral i => Identifiers i n u -> i -> Maybe n
- 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
- prop_hasId :: String -> Bool
- prop_stableId :: String -> Bool
- prop_keyRetrieval :: [String] -> Bool
- prop_keyRetrievalUnsafe :: [String] -> Bool
- prop_idempotent :: String -> Bool
Documentation
data Identifiers i n u Source #
(Eq n, Eq i, Eq u) => Eq (Identifiers i n u) Source # | |
Show n => Show (Identifiers i n u) Source # | |
(Binary n, ListLike n u, Integral i, Eq u) => Binary (Identifiers i n u) Source # | |
(Serialize n, ListLike n u, Integral i, Eq u) => Serialize (Identifiers i n u) Source # | |
(NFData i, NFData n, NFData u) => NFData (Identifiers i n u) Source # | |
Construction
empty :: Identifiers i n u Source #
The empty Identifiers
fromList :: (ListLike n u, Eq u, Integral i) => [n] -> Identifiers i n u Source #
New Identifiers from list
Insertion
insert :: (ListLike n u, Eq u, Integral i) => Identifiers i n u -> n -> Identifiers i n u Source #
Insert item into set (given it a new id)
insertMany :: (ListLike n u, Eq u, Integral i) => Identifiers i n u -> [n] -> Identifiers i n u Source #
Insert many items into set
Info
size :: Identifiers i n u -> Int Source #
Extraction
toList :: Identifiers i n u -> [n] Source #
New List from Identifiers
Lookups
lookupKeys :: Integral i => Identifiers i n u -> [i] -> [n] Source #
Given many ids, return many keys
unsafeLookupId :: (ListLike n u, Eq u) => Identifiers i n u -> n -> i Source #
unsafeLookupKey :: Integral i => Identifiers i n u -> i -> n Source #
(!) :: Integral i => Identifiers i n u -> i -> n Source #
Properties
prop_hasId :: String -> Bool Source #
Items inserted are given ids
prop_stableId :: String -> Bool Source #
Inserted items have stable ids
prop_keyRetrieval :: [String] -> Bool Source #
Given id can be used to fetch inserted item
prop_keyRetrievalUnsafe :: [String] -> Bool Source #
Given id can be used to fetch inserted item
prop_idempotent :: String -> Bool Source #
Inserting something more than once does not change the set