yoko-0.2: generic programming with disbanded constructors

Portabilitysee LANGUAGE pragmas (... GHC)
Stabilityexperimental
Maintainernicolas.frisby@gmail.com

Type.Yoko.TFunA

Description

The type-level functionality of Type.Yoko.FunA functions.

Synopsis

Documentation

type family TApp fn t Source

The TApp type family encodes the type-level functionality of Type.Yoko.Fun functions.

newtype CMap fn m c Source

CMap fn m c applies fn to all recursive occurrences (i.e. R) in a Data.Yoko.Core type c that's mediated by m. The domain (Dom) is RM m c and the range (Rng) is RM m (CApp (fn m) c). The Idiom is Idiom (fn m).

Constructors

CMap (forall t. fn m t) 

Instances

U ::: (Domain (CMap fn m)) 
Applicative (Idiom (fn m)) => U ::: (DomainA (CMap fn m)) 
V ::: (Domain (CMap fn m)) 
Applicative (Idiom (fn m)) => V ::: (DomainA (CMap fn m)) 
(Dom (fn m) t ~ Med m t, Rng (fn m) t ~ Med m (TApp (fn m) t), t ::: (DomainA (fn m)), Functor (Idiom (fn m)), Wrapper (fn m)) => (R t) ::: (DomainA (CMap fn m)) 
(Dom (fn m) t ~ Med m t, Rng (fn m) t ~ Med m (TApp (fn m) t), t ::: (Domain (fn m)), Wrapper (fn m)) => (R t) ::: (Domain (CMap fn m)) 
Applicative (Idiom (fn m)) => (D a) ::: (DomainA (CMap fn m)) 
(D a) ::: (Domain (CMap fn m)) 
(c ::: (DomainA (CMap fn m)), Functor (Idiom (fn m))) => (M i c) ::: (DomainA (CMap fn m)) 
c ::: (Domain (CMap fn m)) => (M i c) ::: (Domain (CMap fn m)) 
(c ::: (DomainA (CMap fn m)), Applicative (Idiom (fn m)), Traversable f) => (F f c) ::: (DomainA (CMap fn m)) 
(c ::: (Domain (CMap fn m)), Traversable f) => (F f c) ::: (Domain (CMap fn m)) 
(c ::: (DomainA (CMap fn m)), d ::: (DomainA (CMap fn m)), Applicative (Idiom (fn m)), TraversableTSTSS ff) => (FF ff c d) ::: (DomainA (CMap fn m)) 
(c ::: (Domain (CMap fn m)), d ::: (Domain (CMap fn m)), FunctorTSTSS ff) => (FF ff c d) ::: (Domain (CMap fn m)) 

type family CApp fn c Source

CApp fn c applies the type-function fn to all recursive occurrences (i.e. R) in the Data.Yoko.Core type c.