TrieMap-0.6.3: Automatic type inference of generalized tries.

Data.TrieMap

Contents

Synopsis

Map type

class (Repr k, TrieKey (Rep k) (TrieMap (Rep k))) => TKey k Source

Instances

(Repr k, TrieKey (Rep k) (TrieMap (Rep k))) => TKey k 

data TMap k a Source

Instances

TKey k => Functor (TMap k) 
TKey k => Foldable (TMap k) 
TKey k => Traversable (TMap k) 
TKey k => ReprT (TMap k) 
(Eq k, TKey k, Eq a) => Eq (TMap k a) 
(Ord k, TKey k, Ord a) => Ord (TMap k a) 
(Show k, Show a, TKey k) => Show (TMap k a) 
TKey k => Monoid (TMap k a) 

Operators

(!) :: TKey k => TMap k a -> k -> aSource

(\\) :: TKey k => TMap k a -> TMap k b -> TMap k aSource

Query

null :: TKey k => TMap k a -> BoolSource

size :: TKey k => TMap k a -> IntSource

member :: TKey k => k -> TMap k a -> BoolSource

notMember :: TKey k => k -> TMap k a -> BoolSource

lookup :: TKey k => k -> TMap k a -> Maybe aSource

findWithDefault :: TKey k => a -> k -> TMap k a -> aSource

Construction

empty :: TKey k => TMap k aSource

singleton :: TKey k => k -> a -> TMap k aSource

Insertion

insert :: TKey k => k -> a -> TMap k a -> TMap k aSource

insertWith :: TKey k => (a -> a -> a) -> k -> a -> TMap k a -> TMap k aSource

insertWithKey :: TKey k => (k -> a -> a -> a) -> k -> a -> TMap k a -> TMap k aSource

Delete/Update

delete :: TKey k => k -> TMap k a -> TMap k aSource

adjust :: TKey k => (a -> a) -> k -> TMap k a -> TMap k aSource

adjustWithKey :: TKey k => (k -> a -> a) -> k -> TMap k a -> TMap k aSource

update :: TKey k => (a -> Maybe a) -> k -> TMap k a -> TMap k aSource

updateWithKey :: TKey k => (k -> a -> Maybe a) -> k -> TMap k a -> TMap k aSource

alter :: TKey k => (Maybe a -> Maybe a) -> k -> TMap k a -> TMap k aSource

Combine

Union

union :: TKey k => TMap k a -> TMap k a -> TMap k aSource

unionWith :: TKey k => (a -> a -> a) -> TMap k a -> TMap k a -> TMap k aSource

unionWithKey :: TKey k => (k -> a -> a -> a) -> TMap k a -> TMap k a -> TMap k aSource

unionMaybeWith :: TKey k => (a -> a -> Maybe a) -> TMap k a -> TMap k a -> TMap k aSource

unionMaybeWithKey :: TKey k => (k -> a -> a -> Maybe a) -> TMap k a -> TMap k a -> TMap k aSource

Difference

difference :: TKey k => TMap k a -> TMap k b -> TMap k aSource

differenceWith :: TKey k => (a -> b -> Maybe a) -> TMap k a -> TMap k b -> TMap k aSource

differenceWithKey :: TKey k => (k -> a -> b -> Maybe a) -> TMap k a -> TMap k b -> TMap k aSource

Intersection

intersection :: TKey k => TMap k a -> TMap k b -> TMap k aSource

intersectionWith :: TKey k => (a -> b -> c) -> TMap k a -> TMap k b -> TMap k cSource

intersectionWithKey :: TKey k => (k -> a -> b -> c) -> TMap k a -> TMap k b -> TMap k cSource

intersectionMaybeWith :: TKey k => (a -> b -> Maybe c) -> TMap k a -> TMap k b -> TMap k cSource

intersectionMaybeWithKey :: TKey k => (k -> a -> b -> Maybe c) -> TMap k a -> TMap k b -> TMap k cSource

Traversal

Map

map :: TKey k => (a -> b) -> TMap k a -> TMap k bSource

mapWithKey :: TKey k => (k -> a -> b) -> TMap k a -> TMap k bSource

mapKeys :: (TKey k, TKey k') => (k -> k') -> TMap k a -> TMap k' aSource

mapKeysWith :: (TKey k, TKey k') => (a -> a -> a) -> (k -> k') -> TMap k a -> TMap k' aSource

mapKeysMonotonic :: (TKey k, TKey k') => (k -> k') -> TMap k a -> TMap k' aSource

Traverse

traverseWithKey :: (TKey k, Applicative f) => (k -> a -> f b) -> TMap k a -> f (TMap k b)Source

Fold

fold :: TKey k => (a -> b -> b) -> b -> TMap k a -> bSource

foldWithKey :: TKey k => (k -> a -> b -> b) -> b -> TMap k a -> bSource

foldrWithKey :: TKey k => (k -> a -> b -> b) -> b -> TMap k a -> bSource

foldlWithKey :: TKey k => (b -> k -> a -> b) -> b -> TMap k a -> bSource

Conversion

elems :: TKey k => TMap k a -> [a]Source

keys :: TKey k => TMap k a -> [k]Source

keysSet :: TKey k => TMap k a -> TSet kSource

assocs :: TKey k => TMap k a -> [(k, a)]Source

Lists

fromList :: TKey k => [(k, a)] -> TMap k aSource

fromListWith :: TKey k => (a -> a -> a) -> [(k, a)] -> TMap k aSource

fromListWithKey :: TKey k => (k -> a -> a -> a) -> [(k, a)] -> TMap k aSource

Ordered lists

fromAscList :: TKey k => [(k, a)] -> TMap k aSource

fromAscListWith :: TKey k => (a -> a -> a) -> [(k, a)] -> TMap k aSource

fromAscListWithKey :: TKey k => (k -> a -> a -> a) -> [(k, a)] -> TMap k aSource

fromDistinctAscList :: TKey k => [(k, a)] -> TMap k aSource

Filter

filter :: TKey k => (a -> Bool) -> TMap k a -> TMap k aSource

filterWithKey :: TKey k => (k -> a -> Bool) -> TMap k a -> TMap k aSource

partition :: TKey k => (a -> Bool) -> TMap k a -> (TMap k a, TMap k a)Source

partitionWithKey :: TKey k => (k -> a -> Bool) -> TMap k a -> (TMap k a, TMap k a)Source

mapMaybe :: TKey k => (a -> Maybe b) -> TMap k a -> TMap k bSource

mapMaybeWithKey :: TKey k => (k -> a -> Maybe b) -> TMap k a -> TMap k bSource

mapEither :: TKey k => (a -> Either b c) -> TMap k a -> (TMap k b, TMap k c)Source

mapEitherWithKey :: TKey k => (k -> a -> Either b c) -> TMap k a -> (TMap k b, TMap k c)Source

split :: TKey k => k -> TMap k a -> (TMap k a, TMap k a)Source

splitLookup :: TKey k => k -> TMap k a -> (TMap k a, Maybe a, TMap k a)Source

Submap

isSubmapOf :: (TKey k, Eq a) => TMap k a -> TMap k a -> BoolSource

isSubmapOfBy :: TKey k => (a -> b -> Bool) -> TMap k a -> TMap k b -> BoolSource

Indexed

predecessor :: TKey k => k -> TMap k a -> Maybe (Int, k, a)Source

predecessor k a returns the index, key, and value of the immediate predecessor of k in the map. The predecessor is the element with the largest key < k.

lookupWithIndex :: TKey k => k -> TMap k a -> Maybe (Int, k, a)Source

successor :: TKey k => k -> TMap k a -> Maybe (Int, k, a)Source

neighborhood :: TKey k => k -> TMap k a -> (Maybe (Int, k, a), Maybe (Int, k, a), Maybe (Int, k, a))Source

lookupIndex :: TKey k => k -> TMap k a -> Maybe IntSource

predecessorAt :: TKey k => Int -> TMap k a -> Maybe (Int, k, a)Source

lookupAt :: TKey k => Int -> TMap k a -> Maybe (Int, k, a)Source

successorAt :: TKey k => Int -> TMap k a -> Maybe (Int, k, a)Source

neighborhoodAt :: TKey k => Int -> TMap k a -> (Maybe (Int, k, a), Maybe (Int, k, a), Maybe (Int, k, a))Source

Min/Max

findMin :: TKey k => TMap k a -> (k, a)Source

findMax :: TKey k => TMap k a -> (k, a)Source

deleteMin :: TKey k => TMap k a -> TMap k aSource

deleteMax :: TKey k => TMap k a -> TMap k aSource

deleteFindMin :: TKey k => TMap k a -> ((k, a), TMap k a)Source

deleteFindMax :: TKey k => TMap k a -> ((k, a), TMap k a)Source

updateMin :: TKey k => (a -> Maybe a) -> TMap k a -> TMap k aSource

updateMax :: TKey k => (a -> Maybe a) -> TMap k a -> TMap k aSource

updateMinWithKey :: TKey k => (k -> a -> Maybe a) -> TMap k a -> TMap k aSource

updateMaxWithKey :: TKey k => (k -> a -> Maybe a) -> TMap k a -> TMap k aSource

minView :: TKey k => TMap k a -> Maybe (a, TMap k a)Source

maxView :: TKey k => TMap k a -> Maybe (a, TMap k a)Source

minViewWithKey :: TKey k => TMap k a -> Maybe ((k, a), TMap k a)Source

maxViewWithKey :: TKey k => TMap k a -> Maybe ((k, a), TMap k a)Source