data-diverse-4.2.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)

Methods

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

AFunctor Which c ([] *) Source #

Terminating AFunctor instance for empty type list

Methods

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

(Reiterate c ((:) Type a as), AFunctor Which c as, Case c ((:) Type a as)) => AFunctor Which c ((:) Type 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

Methods

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