Safe Haskell | None |
---|---|
Language | GHC2021 |
Synopsis
- data MaybeMap (m :: Type -> Type) a
- data ListMap (m :: Type -> Type) 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 => TrieMap (MaybeMap m) Source # | |
Defined in GHC.Data.TrieMap | |
Functor m => Functor (MaybeMap m) Source # | |
TrieMap m => Foldable (MaybeMap m) Source # | |
Defined in GHC.Data.TrieMap fold :: Monoid m0 => MaybeMap m m0 -> m0 # foldMap :: Monoid m0 => (a -> m0) -> MaybeMap m a -> m0 # foldMap' :: Monoid m0 => (a -> m0) -> MaybeMap m a -> m0 # foldr :: (a -> b -> b) -> b -> MaybeMap m a -> b # foldr' :: (a -> b -> b) -> b -> MaybeMap m a -> b # foldl :: (b -> a -> b) -> b -> MaybeMap m a -> b # foldl' :: (b -> a -> b) -> b -> MaybeMap m a -> b # foldr1 :: (a -> a -> a) -> MaybeMap m a -> a # foldl1 :: (a -> a -> a) -> MaybeMap m a -> a # toList :: MaybeMap m a -> [a] # null :: MaybeMap m a -> Bool # length :: MaybeMap m a -> Int # elem :: Eq a => a -> MaybeMap m a -> Bool # maximum :: Ord a => MaybeMap m a -> a # minimum :: Ord a => MaybeMap m a -> a # | |
type Key (MaybeMap m) Source # | |
Defined in GHC.Data.TrieMap |
Maps over List
values
data ListMap (m :: Type -> Type) a Source #
Instances
TrieMap m => TrieMap (ListMap m) Source # | |
Defined in GHC.Data.TrieMap | |
Functor m => Functor (ListMap m) Source # | |
TrieMap m => Foldable (ListMap m) Source # | |
Defined in GHC.Data.TrieMap fold :: Monoid m0 => ListMap m m0 -> m0 # foldMap :: Monoid m0 => (a -> m0) -> ListMap m a -> m0 # foldMap' :: Monoid m0 => (a -> m0) -> ListMap m a -> m0 # foldr :: (a -> b -> b) -> b -> ListMap m a -> b # foldr' :: (a -> b -> b) -> b -> ListMap m a -> b # foldl :: (b -> a -> b) -> b -> ListMap m a -> b # foldl' :: (b -> a -> b) -> b -> ListMap m a -> b # foldr1 :: (a -> a -> a) -> ListMap m a -> a # foldl1 :: (a -> a -> a) -> ListMap m a -> a # toList :: ListMap m a -> [a] # length :: ListMap m a -> Int # elem :: Eq a => a -> ListMap m a -> Bool # maximum :: Ord a => ListMap m a -> a # minimum :: Ord a => ListMap m a -> a # | |
(TrieMap m, Outputable a) => Outputable (ListMap m a) Source # | |
type Key (ListMap m) Source # | |
Defined in GHC.Data.TrieMap |
TrieMap
class
class Functor m => TrieMap (m :: Type -> Type) where Source #
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) => TrieMap (GenMap m) Source # | |
Defined in GHC.Data.TrieMap | |
Outputable a => Outputable (TypeMapG a) Source # | |
Functor m => Functor (GenMap m) Source # | |
(Eq (Key m), TrieMap m) => Foldable (GenMap m) Source # | |
Defined in GHC.Data.TrieMap fold :: Monoid m0 => GenMap m m0 -> m0 # foldMap :: Monoid m0 => (a -> m0) -> GenMap m a -> m0 # foldMap' :: Monoid m0 => (a -> m0) -> GenMap m a -> m0 # foldr :: (a -> b -> b) -> b -> GenMap m a -> b # foldr' :: (a -> b -> b) -> b -> GenMap m a -> b # foldl :: (b -> a -> b) -> b -> GenMap m a -> b # foldl' :: (b -> a -> b) -> b -> GenMap m a -> b # foldr1 :: (a -> a -> a) -> GenMap m a -> a # foldl1 :: (a -> a -> a) -> GenMap m a -> a # elem :: Eq a => a -> GenMap m a -> Bool # maximum :: Ord a => GenMap m a -> a # minimum :: Ord a => GenMap m a -> a # | |
(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 #