| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
GHC.Data.TrieMap
Synopsis
- data MaybeMap (m :: Type -> Type) a
 - data ListMap (m :: Type -> Type) a
 - type LiteralMap a = Map Literal a
 - class Functor m => TrieMap (m :: Type -> Type) where
 - insertTM :: TrieMap m => Key m -> a -> m a -> m a
 - deleteTM :: TrieMap m => Key m -> m a -> m a
 - foldMapTM :: (TrieMap m, Monoid r) => (a -> r) -> m a -> r
 - isEmptyTM :: TrieMap m => m a -> Bool
 - (>.>) :: (a -> b) -> (b -> c) -> a -> c
 - (|>) :: a -> (a -> b) -> b
 - (|>>) :: TrieMap m2 => (XT (m2 a) -> m1 (m2 a) -> m1 (m2 a)) -> (m2 a -> m2 a) -> m1 (m2 a) -> m1 (m2 a)
 - type XT a = Maybe a -> Maybe a
 - foldMaybe :: (a -> b -> b) -> Maybe a -> b -> b
 - filterMaybe :: (a -> Bool) -> Maybe a -> Maybe a
 - data GenMap (m :: Type -> Type) a
 - lkG :: forall (m :: Type -> Type) a. (Eq (Key m), TrieMap m) => Key m -> GenMap m a -> Maybe a
 - xtG :: forall (m :: Type -> Type) a. (Eq (Key m), TrieMap m) => Key m -> XT a -> GenMap m a -> GenMap m a
 - mapG :: forall (m :: Type -> Type) a b. Functor m => (a -> b) -> GenMap m a -> GenMap m b
 - fdG :: forall (m :: Type -> Type) a b. TrieMap m => (a -> b -> b) -> GenMap m a -> b -> b
 - xtList :: TrieMap m => (forall b. k -> XT b -> m b -> m b) -> [k] -> XT a -> ListMap m a -> ListMap m a
 - lkList :: TrieMap m => (forall b. k -> m b -> Maybe b) -> [k] -> ListMap m a -> Maybe a
 
Maps over Maybe values
data MaybeMap (m :: Type -> Type) a Source #
Instances
| TrieMap m => Foldable (MaybeMap m) Source # | |||||
Defined in GHC.Data.TrieMap Methods fold :: Monoid m0 => MaybeMap m m0 -> m0 Source # foldMap :: Monoid m0 => (a -> m0) -> MaybeMap m a -> m0 Source # foldMap' :: Monoid m0 => (a -> m0) -> MaybeMap m a -> m0 Source # foldr :: (a -> b -> b) -> b -> MaybeMap m a -> b Source # foldr' :: (a -> b -> b) -> b -> MaybeMap m a -> b Source # foldl :: (b -> a -> b) -> b -> MaybeMap m a -> b Source # foldl' :: (b -> a -> b) -> b -> MaybeMap m a -> b Source # foldr1 :: (a -> a -> a) -> MaybeMap m a -> a Source # foldl1 :: (a -> a -> a) -> MaybeMap m a -> a Source # toList :: MaybeMap m a -> [a] Source # null :: MaybeMap m a -> Bool Source # length :: MaybeMap m a -> Int Source # elem :: Eq a => a -> MaybeMap m a -> Bool Source # maximum :: Ord a => MaybeMap m a -> a Source # minimum :: Ord a => MaybeMap m a -> a Source #  | |||||
| Functor m => Functor (MaybeMap m) Source # | |||||
| TrieMap m => TrieMap (MaybeMap m) Source # | |||||
Defined in GHC.Data.TrieMap Associated Types 
  | |||||
| type Key (MaybeMap m) Source # | |||||
Defined in GHC.Data.TrieMap  | |||||
Maps over List values
data ListMap (m :: Type -> Type) a Source #
Instances
| TrieMap m => Foldable (ListMap m) Source # | |
Defined in GHC.Data.TrieMap Methods fold :: Monoid m0 => ListMap m m0 -> m0 Source # foldMap :: Monoid m0 => (a -> m0) -> ListMap m a -> m0 Source # foldMap' :: Monoid m0 => (a -> m0) -> ListMap m a -> m0 Source # foldr :: (a -> b -> b) -> b -> ListMap m a -> b Source # foldr' :: (a -> b -> b) -> b -> ListMap m a -> b Source # foldl :: (b -> a -> b) -> b -> ListMap m a -> b Source # foldl' :: (b -> a -> b) -> b -> ListMap m a -> b Source # foldr1 :: (a -> a -> a) -> ListMap m a -> a Source # foldl1 :: (a -> a -> a) -> ListMap m a -> a Source # toList :: ListMap m a -> [a] Source # null :: ListMap m a -> Bool Source # length :: ListMap m a -> Int Source # elem :: Eq a => a -> ListMap m a -> Bool Source # maximum :: Ord a => ListMap m a -> a Source # minimum :: Ord a => ListMap m a -> a Source #  | |
| Functor m => Functor (ListMap m) Source # | |
| TrieMap m => TrieMap (ListMap m) Source # | |
Defined in GHC.Data.TrieMap  | |
| (TrieMap m, Outputable a) => Outputable (ListMap m a) Source # | |
| type Key (ListMap m) Source # | |
Defined in GHC.Data.TrieMap  | |
Maps over Literals
type LiteralMap a = Map Literal a Source #
TrieMap class
class Functor m => TrieMap (m :: Type -> Type) where Source #
Methods
lookupTM :: Key m -> m b -> Maybe b Source #
alterTM :: Key m -> XT b -> m b -> m b Source #
Instances
Things helpful for adding additional Instances.
(|>>) :: TrieMap m2 => (XT (m2 a) -> m1 (m2 a) -> m1 (m2 a)) -> (m2 a -> m2 a) -> m1 (m2 a) -> m1 (m2 a) infixr 1 Source #
Map for leaf compression
data GenMap (m :: Type -> Type) a Source #
Instances
| (Eq (Key m), TrieMap m) => Foldable (GenMap m) Source # | |
Defined in GHC.Data.TrieMap Methods fold :: Monoid m0 => GenMap m m0 -> m0 Source # foldMap :: Monoid m0 => (a -> m0) -> GenMap m a -> m0 Source # foldMap' :: Monoid m0 => (a -> m0) -> GenMap m a -> m0 Source # foldr :: (a -> b -> b) -> b -> GenMap m a -> b Source # foldr' :: (a -> b -> b) -> b -> GenMap m a -> b Source # foldl :: (b -> a -> b) -> b -> GenMap m a -> b Source # foldl' :: (b -> a -> b) -> b -> GenMap m a -> b Source # foldr1 :: (a -> a -> a) -> GenMap m a -> a Source # foldl1 :: (a -> a -> a) -> GenMap m a -> a Source # toList :: GenMap m a -> [a] Source # null :: GenMap m a -> Bool Source # length :: GenMap m a -> Int Source # elem :: Eq a => a -> GenMap m a -> Bool Source # maximum :: Ord a => GenMap m a -> a Source # minimum :: Ord a => GenMap m a -> a Source #  | |
| Functor m => Functor (GenMap m) Source # | |
| (Eq (Key m), TrieMap m) => TrieMap (GenMap m) Source # | |
Defined in GHC.Data.TrieMap  | |
| Outputable a => Outputable (TypeMapG a) Source # | |
| (Outputable a, Outputable (m a)) => Outputable (GenMap m a) Source # | |
| type Key (GenMap m) Source # | |
Defined in GHC.Data.TrieMap  | |
lkG :: forall (m :: Type -> Type) a. (Eq (Key m), TrieMap m) => Key m -> GenMap m a -> Maybe a Source #
xtG :: forall (m :: Type -> Type) a. (Eq (Key m), TrieMap m) => Key m -> XT a -> GenMap m a -> GenMap m a Source #