 | stringtable-atom-0.0.6.1: Memoize Strings as Atoms for fast comparison and sorting, with maps and sets | Contents | Index |
|
|
|
|
|
|
| Synopsis |
|
| newtype AtomMap a = MkAtomMap {} | | | type Key = Atom | | | (!) :: AtomMap a -> Key -> a | | | (\\) :: AtomMap a -> AtomMap b -> AtomMap a | | | null :: [a] -> Bool | | | size :: AtomMap a -> Int | | | member :: Atom -> AtomMap a -> Bool | | | notMember :: Key -> AtomMap a -> Bool | | | lookup :: Atom -> AtomMap a -> Maybe a | | | findWithDefault :: a -> Key -> AtomMap a -> a | | | empty :: AtomMap a | | | singleton :: Key -> a -> AtomMap a | | | insert :: Atom -> a -> AtomMap a -> AtomMap a | | | insertWith :: (a -> a -> a) -> Atom -> a -> AtomMap a -> AtomMap a | | | insertWithKey :: (Key -> a -> a -> a) -> Key -> a -> AtomMap a -> AtomMap a | | | insertLookupWithKey :: (Key -> a -> a -> a) -> Key -> a -> AtomMap a -> (Maybe a, AtomMap a) | | | delete :: Key -> AtomMap a -> AtomMap a | | | adjust :: (a -> a) -> Key -> AtomMap a -> AtomMap a | | | adjustWithKey :: (Key -> a -> a) -> Key -> AtomMap a -> AtomMap a | | | update :: (a -> Maybe a) -> Key -> AtomMap a -> AtomMap a | | | updateWithKey :: (Key -> a -> Maybe a) -> Key -> AtomMap a -> AtomMap a | | | updateLookupWithKey :: (Key -> a -> Maybe a) -> Key -> AtomMap a -> (Maybe a, AtomMap a) | | | alter :: (Maybe a -> Maybe a) -> Key -> AtomMap a -> AtomMap a | | | union :: AtomMap a -> AtomMap a -> AtomMap a | | | unionWith :: (a -> a -> a) -> AtomMap a -> AtomMap a -> AtomMap a | | | unionWithKey :: (Key -> a -> a -> a) -> AtomMap a -> AtomMap a -> AtomMap a | | | unions :: [AtomMap a] -> AtomMap a | | | unionsWith :: (a -> a -> a) -> [AtomMap a] -> AtomMap a | | | difference :: AtomMap a -> AtomMap b -> AtomMap a | | | differenceWith :: (a -> b -> Maybe a) -> AtomMap a -> AtomMap b -> AtomMap a | | | differenceWithKey :: (Key -> a -> b -> Maybe a) -> AtomMap a -> AtomMap b -> AtomMap a | | | intersection :: AtomMap a -> AtomMap b -> AtomMap a | | | intersectionWith :: (a -> b -> a) -> AtomMap a -> AtomMap b -> AtomMap a | | | intersectionWithKey :: (Key -> a -> b -> a) -> AtomMap a -> AtomMap b -> AtomMap a | | | map :: (a -> b) -> AtomMap a -> AtomMap b | | | mapWithKey :: (Atom -> a -> b) -> AtomMap a -> AtomMap b | | | mapAccum :: (a -> b -> (a, c)) -> a -> AtomMap b -> (a, AtomMap c) | | | mapAccumWithKey :: (a -> Key -> b -> (a, c)) -> a -> AtomMap b -> (a, AtomMap c) | | | fold :: (a -> b -> b) -> b -> AtomMap a -> b | | | foldWithKey :: (Key -> a -> b -> b) -> b -> AtomMap a -> b | | | elems :: AtomMap a -> [a] | | | keys :: AtomMap a -> [Atom] | | | keysSet :: AtomMap a -> AtomSet | | | assocs :: AtomMap a -> [(Key, a)] | | | toList :: AtomMap a -> [(Atom, a)] | | | fromList :: [(Atom, a)] -> AtomMap a | | | fromListWith :: (a -> a -> a) -> [(Atom, a)] -> AtomMap a | | | fromListWithKey :: (Key -> a -> a -> a) -> [(Key, a)] -> AtomMap a | | | toAscList :: AtomMap a -> [(Key, a)] | | | fromAscList :: [(Key, a)] -> AtomMap a | | | fromAscListWith :: (a -> a -> a) -> [(Key, a)] -> AtomMap a | | | fromAscListWithKey :: (Key -> a -> a -> a) -> [(Key, a)] -> AtomMap a | | | fromDistinctAscList :: [(Key, a)] -> AtomMap a | | | filter :: (a -> Bool) -> AtomMap a -> AtomMap a | | | filterWithKey :: (Key -> a -> Bool) -> AtomMap a -> AtomMap a | | | partition :: (a -> Bool) -> AtomMap a -> (AtomMap a, AtomMap a) | | | partitionWithKey :: (Key -> a -> Bool) -> AtomMap a -> (AtomMap a, AtomMap a) | | | mapMaybe :: (a -> Maybe b) -> AtomMap a -> AtomMap b | | | mapMaybeWithKey :: (Atom -> a -> Maybe b) -> AtomMap a -> AtomMap b | | | mapEither :: (a -> Either b c) -> AtomMap a -> (AtomMap b, AtomMap c) | | | mapEitherWithKey :: (Key -> a -> Either b c) -> AtomMap a -> (AtomMap b, AtomMap c) | | | split :: Key -> AtomMap a -> (AtomMap a, AtomMap a) | | | splitLookup :: Key -> AtomMap a -> (AtomMap a, Maybe a, AtomMap a) | | | isSubmapOf :: Eq a => AtomMap a -> AtomMap a -> Bool | | | isSubmapOfBy :: (a -> b -> Bool) -> AtomMap a -> AtomMap b -> Bool | | | isProperSubmapOf :: Eq a => AtomMap a -> AtomMap a -> Bool | | | isProperSubmapOfBy :: (a -> b -> Bool) -> AtomMap a -> AtomMap b -> Bool | | | maxView :: Monad m => AtomMap a -> m (a, AtomMap a) | | | minView :: Monad m => AtomMap a -> m (a, AtomMap a) | | | deleteMin :: AtomMap a -> AtomMap a | | | deleteMax :: AtomMap a -> AtomMap a | | | deleteFindMin :: AtomMap a -> (a, AtomMap a) | | | deleteFindMax :: AtomMap a -> (a, AtomMap a) | | | updateMin :: (a -> a) -> AtomMap a -> AtomMap a | | | updateMax :: (a -> a) -> AtomMap a -> AtomMap a | | | updateMinWithKey :: (Key -> a -> a) -> AtomMap a -> AtomMap a | | | updateMaxWithKey :: (Key -> a -> a) -> AtomMap a -> AtomMap a | | | minViewWithKey :: Monad m => AtomMap a -> m ((Key, a), AtomMap a) | | | maxViewWithKey :: Monad m => AtomMap a -> m ((Key, a), AtomMap a) | | | showTree :: Show a => AtomMap a -> String | | | showTreeWith :: Show a => Bool -> Bool -> AtomMap a -> String |
|
|
|
| Map type
|
|
| newtype AtomMap a |
| Constructors | | Instances | |
|
|
| type Key = Atom |
|
| Operators
|
|
| (!) :: AtomMap a -> Key -> a |
|
| (\\) :: AtomMap a -> AtomMap b -> AtomMap a |
|
| Query
|
|
| null :: [a] -> Bool |
| Test whether a list is empty.
|
|
| size :: AtomMap a -> Int |
|
| member :: Atom -> AtomMap a -> Bool |
|
| notMember :: Key -> AtomMap a -> Bool |
|
| lookup :: Atom -> AtomMap a -> Maybe a |
|
| findWithDefault :: a -> Key -> AtomMap a -> a |
|
| Construction
|
|
| empty :: AtomMap a |
|
| singleton :: Key -> a -> AtomMap a |
|
| Insertion
|
|
| insert :: Atom -> a -> AtomMap a -> AtomMap a |
|
| insertWith :: (a -> a -> a) -> Atom -> a -> AtomMap a -> AtomMap a |
|
| insertWithKey :: (Key -> a -> a -> a) -> Key -> a -> AtomMap a -> AtomMap a |
|
| insertLookupWithKey :: (Key -> a -> a -> a) -> Key -> a -> AtomMap a -> (Maybe a, AtomMap a) |
|
| Delete/Update
|
|
| delete :: Key -> AtomMap a -> AtomMap a |
|
| adjust :: (a -> a) -> Key -> AtomMap a -> AtomMap a |
|
| adjustWithKey :: (Key -> a -> a) -> Key -> AtomMap a -> AtomMap a |
|
| update :: (a -> Maybe a) -> Key -> AtomMap a -> AtomMap a |
|
| updateWithKey :: (Key -> a -> Maybe a) -> Key -> AtomMap a -> AtomMap a |
|
| updateLookupWithKey :: (Key -> a -> Maybe a) -> Key -> AtomMap a -> (Maybe a, AtomMap a) |
|
| alter :: (Maybe a -> Maybe a) -> Key -> AtomMap a -> AtomMap a |
|
| Combine
|
|
| Union
|
|
| union :: AtomMap a -> AtomMap a -> AtomMap a |
|
| unionWith :: (a -> a -> a) -> AtomMap a -> AtomMap a -> AtomMap a |
|
| unionWithKey :: (Key -> a -> a -> a) -> AtomMap a -> AtomMap a -> AtomMap a |
|
| unions :: [AtomMap a] -> AtomMap a |
|
| unionsWith :: (a -> a -> a) -> [AtomMap a] -> AtomMap a |
|
| Difference
|
|
| difference :: AtomMap a -> AtomMap b -> AtomMap a |
|
| differenceWith :: (a -> b -> Maybe a) -> AtomMap a -> AtomMap b -> AtomMap a |
|
| differenceWithKey :: (Key -> a -> b -> Maybe a) -> AtomMap a -> AtomMap b -> AtomMap a |
|
| Intersection
|
|
| intersection :: AtomMap a -> AtomMap b -> AtomMap a |
|
| intersectionWith :: (a -> b -> a) -> AtomMap a -> AtomMap b -> AtomMap a |
|
| intersectionWithKey :: (Key -> a -> b -> a) -> AtomMap a -> AtomMap b -> AtomMap a |
|
| Traversal
|
|
| Map
|
|
| map :: (a -> b) -> AtomMap a -> AtomMap b |
|
| mapWithKey :: (Atom -> a -> b) -> AtomMap a -> AtomMap b |
|
| mapAccum :: (a -> b -> (a, c)) -> a -> AtomMap b -> (a, AtomMap c) |
|
| mapAccumWithKey :: (a -> Key -> b -> (a, c)) -> a -> AtomMap b -> (a, AtomMap c) |
|
| Fold
|
|
| fold :: (a -> b -> b) -> b -> AtomMap a -> b |
|
| foldWithKey :: (Key -> a -> b -> b) -> b -> AtomMap a -> b |
|
| Conversion
|
|
| elems :: AtomMap a -> [a] |
|
| keys :: AtomMap a -> [Atom] |
|
| keysSet :: AtomMap a -> AtomSet |
|
| assocs :: AtomMap a -> [(Key, a)] |
|
| Lists
|
|
| toList :: AtomMap a -> [(Atom, a)] |
|
| fromList :: [(Atom, a)] -> AtomMap a |
|
| fromListWith :: (a -> a -> a) -> [(Atom, a)] -> AtomMap a |
|
| fromListWithKey :: (Key -> a -> a -> a) -> [(Key, a)] -> AtomMap a |
|
| Ordered lists
|
|
| toAscList :: AtomMap a -> [(Key, a)] |
|
| fromAscList :: [(Key, a)] -> AtomMap a |
|
| fromAscListWith :: (a -> a -> a) -> [(Key, a)] -> AtomMap a |
|
| fromAscListWithKey :: (Key -> a -> a -> a) -> [(Key, a)] -> AtomMap a |
|
| fromDistinctAscList :: [(Key, a)] -> AtomMap a |
|
| Filter
|
|
| filter :: (a -> Bool) -> AtomMap a -> AtomMap a |
|
| filterWithKey :: (Key -> a -> Bool) -> AtomMap a -> AtomMap a |
|
| partition :: (a -> Bool) -> AtomMap a -> (AtomMap a, AtomMap a) |
|
| partitionWithKey :: (Key -> a -> Bool) -> AtomMap a -> (AtomMap a, AtomMap a) |
|
| mapMaybe :: (a -> Maybe b) -> AtomMap a -> AtomMap b |
|
| mapMaybeWithKey :: (Atom -> a -> Maybe b) -> AtomMap a -> AtomMap b |
|
| mapEither :: (a -> Either b c) -> AtomMap a -> (AtomMap b, AtomMap c) |
|
| mapEitherWithKey :: (Key -> a -> Either b c) -> AtomMap a -> (AtomMap b, AtomMap c) |
|
| split :: Key -> AtomMap a -> (AtomMap a, AtomMap a) |
|
| splitLookup :: Key -> AtomMap a -> (AtomMap a, Maybe a, AtomMap a) |
|
| Submap
|
|
| isSubmapOf :: Eq a => AtomMap a -> AtomMap a -> Bool |
|
| isSubmapOfBy :: (a -> b -> Bool) -> AtomMap a -> AtomMap b -> Bool |
|
| isProperSubmapOf :: Eq a => AtomMap a -> AtomMap a -> Bool |
|
| isProperSubmapOfBy :: (a -> b -> Bool) -> AtomMap a -> AtomMap b -> Bool |
|
| Min/Max
|
|
| maxView :: Monad m => AtomMap a -> m (a, AtomMap a) |
|
| minView :: Monad m => AtomMap a -> m (a, AtomMap a) |
|
| deleteMin :: AtomMap a -> AtomMap a |
|
| deleteMax :: AtomMap a -> AtomMap a |
|
| deleteFindMin :: AtomMap a -> (a, AtomMap a) |
|
| deleteFindMax :: AtomMap a -> (a, AtomMap a) |
|
| updateMin :: (a -> a) -> AtomMap a -> AtomMap a |
|
| updateMax :: (a -> a) -> AtomMap a -> AtomMap a |
|
| updateMinWithKey :: (Key -> a -> a) -> AtomMap a -> AtomMap a |
|
| updateMaxWithKey :: (Key -> a -> a) -> AtomMap a -> AtomMap a |
|
| minViewWithKey :: Monad m => AtomMap a -> m ((Key, a), AtomMap a) |
|
| maxViewWithKey :: Monad m => AtomMap a -> m ((Key, a), AtomMap a) |
|
| Debugging
|
|
| showTree :: Show a => AtomMap a -> String |
|
| showTreeWith :: Show a => Bool -> Bool -> AtomMap a -> String |
|
| Produced by Haddock version 2.7.2 |