data-diverse-4.6.0.0: Extensible records and polymorphic variants.

Safe HaskellSafe
LanguageHaskell2010

Data.Diverse.AFunctor

Synopsis

Documentation

class AFunctor f c xs where Source #

Given a Case that transforms each type in the typelist, convert a f xs to f (CasesResults c xs)

Minimal complete definition

afmap

Methods

afmap :: c xs -> f xs -> f (CaseResults c xs) Source #

Instances
AFunctor Many_ c as => AFunctor Many c as Source #

Given a Case that transforms each type in the typelist, convert a Many xs to Many (CaseResults c xs)

Instance details

Defined in Data.Diverse.Many.Internal

Methods

afmap :: c as -> Many as -> Many (CaseResults c as) Source #

AFunctor Which c ([] :: [*]) Source #

Terminating AFunctor instance for empty type list

Instance details

Defined in Data.Diverse.Which.Internal

Methods

afmap :: c [] -> Which [] -> Which (CaseResults c []) Source #

(Reiterate c (a ': as), AFunctor Which c as, Case c (a ': as)) => AFunctor Which c (a ': as) Source #

Recursive AFunctor instance for non empty type list delegate afmap'ing the remainder to an instance of Collector' with one less type in the type list

Instance details

Defined in Data.Diverse.Which.Internal

Methods

afmap :: c (a ': as) -> Which (a ': as) -> Which (CaseResults c (a ': as)) Source #