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 i, Eq n, Eq u) => Eq (Identifiers i n u) | |
Show n => Show (Identifiers i n u) | |
(Binary n, ListLike n u, Integral i, Eq u) => Binary (Identifiers i n u) | |
(Serialize n, ListLike n u, Integral i, Eq u) => Serialize (Identifiers i n u) | |
(NFData i, NFData n, NFData u) => NFData (Identifiers i n u) |
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
lookupKey :: Integral i => Identifiers i n u -> i -> Maybe n Source
Find key for given id
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