Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Data.Diverse.ATraversable
Synopsis
- class ATraversable (f :: [Type] -> Type) (c :: (Type -> Type) -> [Type] -> Type) (m :: Type -> Type) (xs :: [Type]) where
- atraverse :: forall (xs' :: [Type]). (Applicative m, IsTraversalCase c, xs' ~ TraverseResults c m xs) => c m xs -> f xs -> m (f xs')
Documentation
class ATraversable (f :: [Type] -> Type) (c :: (Type -> Type) -> [Type] -> Type) (m :: Type -> Type) (xs :: [Type]) where Source #
Given a Case
that transforms each type in the typelist within an
Applicative
context m
, convert a f xs
to m (f (
,
where TraverseResults
c m xs))(
corresponds to TraverseResults
c m xs)(
with the
CaseResults
(c m) xs)m
layer peeled off from each result.
This is primarily meant to be used with Case
s from the
Data.Diverse.CaseIxed module.
Methods
atraverse :: forall (xs' :: [Type]). (Applicative m, IsTraversalCase c, xs' ~ TraverseResults c m xs) => c m xs -> f xs -> m (f xs') Source #
Instances
ATraversable Many_ c m as => ATraversable Many c m as Source # | |
Defined in Data.Diverse.Many.Internal Methods atraverse :: forall (xs' :: [Type]). (Applicative m, IsTraversalCase c, xs' ~ TraverseResults c m as) => c m as -> Many as -> m (Many xs') Source # | |
ATraversable Which c m ('[] :: [Type]) Source # | |
Defined in Data.Diverse.Which.Internal Methods atraverse :: forall (xs' :: [Type]). (Applicative m, IsTraversalCase c, xs' ~ TraverseResults c m ('[] :: [Type])) => c m ('[] :: [Type]) -> Which ('[] :: [Type]) -> m (Which xs') Source # | |
(Reiterate (c m) (a ': as), ATraversable Which c m as, Case (c m) (a ': as)) => ATraversable Which c m (a ': as) Source # | |
Defined in Data.Diverse.Which.Internal Methods atraverse :: forall (xs' :: [Type]). (Applicative m, IsTraversalCase c, xs' ~ TraverseResults c m (a ': as)) => c m (a ': as) -> Which (a ': as) -> m (Which xs') Source # |