Portability | see LANGUAGE pragmas (... GHC) |
---|---|
Stability | experimental |
Maintainer | nicolas.frisby@gmail.com |
The core structural types; "sum of products" and such.
Documentation
Structural representations (e.g. Data.Yoko.Generic's RM
) of a *
type
can be derived as a data family indexed by the core representation (Rep
)
of that type.
void
unit
a dependency
D a |
a recursive occurrence
R t |
(Dom (fn m) t ~ Med m t, Rng (fn m) t ~ Med (MApp fn m) t, t ::: u, t ::: (Domain (fn m)), Wrapper (fn m)) => (R t) ::: (Domain (RMMap u 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)) | |
Eq (Med m t) => Eq (RM m (R t)) | |
Show (Med m t) => Show (RM m (R t)) |
argument to a * -> *
F (f c) |
arguments to a * -> * -> *
FF (ff c d) |
Eq (ff (RM m c) (RM m d)) => Eq (RM m (FF ff c d)) | |
Show (ff (RM m c) (RM m d)) => Show (RM m (FF ff c d)) | |
(c ::: (Domain (RMMap u fn m)), d ::: (Domain (RMMap u fn m)), FunctorTSTSS ff) => (FF ff c d) ::: (Domain (RMMap u 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)) |
meta information
M c |
a named intermediate (user hook); crucially: type instance Rep (N t) =
Rep t
.
N t |