data-diverse-4.7.1.0: Extensible records and polymorphic variants.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Diverse.ATraversable

Synopsis

Documentation

class ATraversable f c m xs where Source #

Given a Case that transforms each type in the typelist within an Applicative context m, convert a f xs to m (f (TraverseResults c m xs)), where (TraverseResults c m xs) corresponds to (CaseResults (c m) xs) with the m layer peeled off from each result.

This is primarily meant to be used with Cases from the Data.Diverse.CaseIxed module.

Methods

atraverse :: (Applicative m, IsTraversalCase c, xs' ~ TraverseResults c m xs) => c m xs -> f xs -> m (f xs') Source #

Instances

Instances details
ATraversable Many_ c m as => ATraversable Many c m as Source # 
Instance details

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 # 
Instance details

Defined in Data.Diverse.Which.Internal

Methods

atraverse :: forall (xs' :: [Type]). (Applicative m, IsTraversalCase c, xs' ~ TraverseResults c m '[]) => c m '[] -> Which '[] -> 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 # 
Instance details

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 #