yoko-0.1: generic programming with disbanded constructors

Portabilitysee LANGUAGE pragmas (... GHC)



Type.Yoko.Fun functions that implicitly return an applicative functor. The implicitness means that the Rng type instance is not expected to include the applicative functor.


type family Idiom fn :: * -> *Source

newtype DomainA fn t Source


AppABy (fn t -> Dom fn t -> Idiom fn (Rng fn t)) 


Applicative (Idiom (fn m)) => U ::: (DomainA (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)) 
Applicative (Idiom (fn m)) => (D a) ::: (DomainA (CMap fn m)) 
(c ::: (DomainA (CMap fn m)), Functor (Idiom (fn m))) => (M i c) ::: (DomainA (CMap fn m)) 
(c ::: (DomainA (CMap fn m)), Applicative (Idiom (fn m)), Traversable f) => (F f c) ::: (DomainA (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)) 

applyA :: t ::: (DomainA fn) => fn t -> Dom fn t -> Idiom fn (Rng fn t)Source

applyAD :: DomainA fn t -> fn t -> Dom fn t -> Idiom fn (Rng fn t)Source