kind-generics-0.5.0.0: Generic programming in GHC style for arbitrary kinds and GADTs.
Safe HaskellNone
LanguageHaskell2010

Generics.Kind.Examples

Documentation

data Tree a Source #

Constructors

Branch (Tree a) (Tree a) 
Leaf a 

Instances

Instances details
GenericK (Tree a :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (Tree a :: Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (Tree a :: Type) = SubstRep (RepK Tree) a

Methods

fromK :: forall (x :: LoT Type). (Tree a :@@: x) -> RepK (Tree a) x Source #

toK :: forall (x :: LoT Type). RepK (Tree a) x -> Tree a :@@: x Source #

Generic (Tree a) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type Rep (Tree a) 
Instance details

Defined in Generics.Kind.Examples

type Rep (Tree a) = D1 ('MetaData "Tree" "Generics.Kind.Examples" "kind-generics-0.5.0.0-AiXXG3cbsRx71UR7fk7mR3" 'False) (C1 ('MetaCons "Branch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tree a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tree a))) :+: C1 ('MetaCons "Leaf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Tree a -> Rep (Tree a) x #

to :: Rep (Tree a) x -> Tree a #

GenericK Tree Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK Tree 
Instance details

Defined in Generics.Kind.Examples

Methods

fromK :: forall (x :: LoT (Type -> Type)). (Tree :@@: x) -> RepK Tree x Source #

toK :: forall (x :: LoT (Type -> Type)). RepK Tree x -> Tree :@@: x Source #

type RepK (Tree a :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (Tree a :: Type) = SubstRep (RepK Tree) a
type Rep (Tree a) Source # 
Instance details

Defined in Generics.Kind.Examples

type Rep (Tree a) = D1 ('MetaData "Tree" "Generics.Kind.Examples" "kind-generics-0.5.0.0-AiXXG3cbsRx71UR7fk7mR3" 'False) (C1 ('MetaCons "Branch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tree a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tree a))) :+: C1 ('MetaCons "Leaf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
type RepK Tree Source # 
Instance details

Defined in Generics.Kind.Examples

data family HappyFamily t Source #

Instances

Instances details
GenericK (HappyFamily (Maybe a) :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (HappyFamily (Maybe a) :: Type) 
Instance details

Defined in Generics.Kind.Examples

Methods

fromK :: forall (x :: LoT Type). (HappyFamily (Maybe a) :@@: x) -> RepK (HappyFamily (Maybe a)) x Source #

toK :: forall (x :: LoT Type). RepK (HappyFamily (Maybe a)) x -> HappyFamily (Maybe a) :@@: x Source #

GenericK (HappyFamily [a] :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (HappyFamily [a] :: Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (HappyFamily [a] :: Type) = Field ('Kon a :: Atom Type Type)

Methods

fromK :: forall (x :: LoT Type). (HappyFamily [a] :@@: x) -> RepK (HappyFamily [a]) x Source #

toK :: forall (x :: LoT Type). RepK (HappyFamily [a]) x -> HappyFamily [a] :@@: x Source #

GenericK HappyFamily Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK HappyFamily 
Instance details

Defined in Generics.Kind.Examples

type RepK HappyFamily = TypeError ('Text "Cannot describe this family uniformly") :: LoT (Type -> Type) -> Type

Methods

fromK :: forall (x :: LoT (Type -> Type)). (HappyFamily :@@: x) -> RepK HappyFamily x Source #

toK :: forall (x :: LoT (Type -> Type)). RepK HappyFamily x -> HappyFamily :@@: x Source #

type RepK (HappyFamily (Maybe a) :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (HappyFamily [a] :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (HappyFamily [a] :: Type) = Field ('Kon a :: Atom Type Type)
data HappyFamily (Maybe a) Source # 
Instance details

Defined in Generics.Kind.Examples

data HappyFamily [a] Source # 
Instance details

Defined in Generics.Kind.Examples

data HappyFamily [a] = HFL a
type RepK HappyFamily Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK HappyFamily = TypeError ('Text "Cannot describe this family uniformly") :: LoT (Type -> Type) -> Type

data SimpleIndex a b where Source #

Constructors

MkSimpleIndex :: forall a1 b. [a1] -> SimpleIndex [a1] b 

Instances

Instances details
GenericK (SimpleIndex a b :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (SimpleIndex a b :: Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (SimpleIndex a b :: Type) = Exists Type ((('Kon a :: Atom (Type -> Type) Type) :~: ([] :$: (Var0 :: Atom (Type -> Type) Type))) :=>: Field ([] :$: (Var0 :: Atom (Type -> Type) Type)))

Methods

fromK :: forall (x :: LoT Type). (SimpleIndex a b :@@: x) -> RepK (SimpleIndex a b) x Source #

toK :: forall (x :: LoT Type). RepK (SimpleIndex a b) x -> SimpleIndex a b :@@: x Source #

GenericK SimpleIndex Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK SimpleIndex 
Instance details

Defined in Generics.Kind.Examples

type RepK SimpleIndex = Exists Type (((Var1 :: Atom (Type -> Type -> Type -> Type) Type) :~: ([] :$: (Var0 :: Atom (Type -> Type -> Type -> Type) Type))) :=>: Field ([] :$: (Var0 :: Atom (Type -> Type -> Type -> Type) Type)))

Methods

fromK :: forall (x :: LoT (Type -> Type -> Type)). (SimpleIndex :@@: x) -> RepK SimpleIndex x Source #

toK :: forall (x :: LoT (Type -> Type -> Type)). RepK SimpleIndex x -> SimpleIndex :@@: x Source #

GenericK (SimpleIndex a :: Type -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (SimpleIndex a :: Type -> Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (SimpleIndex a :: Type -> Type) = Exists Type ((('Kon a :: Atom (Type -> Type -> Type) Type) :~: ([] :$: (Var0 :: Atom (Type -> Type -> Type) Type))) :=>: Field ([] :$: (Var0 :: Atom (Type -> Type -> Type) Type)))

Methods

fromK :: forall (x :: LoT (Type -> Type)). (SimpleIndex a :@@: x) -> RepK (SimpleIndex a) x Source #

toK :: forall (x :: LoT (Type -> Type)). RepK (SimpleIndex a) x -> SimpleIndex a :@@: x Source #

type RepK (SimpleIndex a b :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (SimpleIndex a b :: Type) = Exists Type ((('Kon a :: Atom (Type -> Type) Type) :~: ([] :$: (Var0 :: Atom (Type -> Type) Type))) :=>: Field ([] :$: (Var0 :: Atom (Type -> Type) Type)))
type RepK SimpleIndex Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK SimpleIndex = Exists Type (((Var1 :: Atom (Type -> Type -> Type -> Type) Type) :~: ([] :$: (Var0 :: Atom (Type -> Type -> Type -> Type) Type))) :=>: Field ([] :$: (Var0 :: Atom (Type -> Type -> Type -> Type) Type)))
type RepK (SimpleIndex a :: Type -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (SimpleIndex a :: Type -> Type) = Exists Type ((('Kon a :: Atom (Type -> Type -> Type) Type) :~: ([] :$: (Var0 :: Atom (Type -> Type -> Type) Type))) :=>: Field ([] :$: (Var0 :: Atom (Type -> Type -> Type) Type)))

data WeirdTree a where Source #

Constructors

WeirdBranch :: forall a. WeirdTree a -> WeirdTree a -> WeirdTree a 
WeirdLeaf :: forall a t. Show a => t -> a -> WeirdTree a 

Instances

Instances details
GenericK WeirdTree Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK WeirdTree 
Instance details

Defined in Generics.Kind.Examples

Methods

fromK :: forall (x :: LoT (Type -> Type)). (WeirdTree :@@: x) -> RepK WeirdTree x Source #

toK :: forall (x :: LoT (Type -> Type)). RepK WeirdTree x -> WeirdTree :@@: x Source #

type RepK WeirdTree Source # 
Instance details

Defined in Generics.Kind.Examples

data WeirdTreeR a where Source #

Constructors

WeirdBranchR :: forall a. WeirdTreeR a -> WeirdTreeR a -> WeirdTreeR a 
WeirdLeafR :: forall a t. (Show a, Eq t, Typeable t) => t -> a -> WeirdTreeR a 

Instances

Instances details
GenericK (WeirdTreeR a :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (WeirdTreeR a :: Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (WeirdTreeR a :: Type) = (Field ('Kon (WeirdTreeR a) :: Atom Type Type) :*: Field ('Kon (WeirdTreeR a) :: Atom Type Type)) :+: Exists Type ((('Kon (Show a) :: Atom (Type -> Type) Constraint) ':&: ((Eq :$: (Var0 :: Atom (Type -> Type) Type)) ':&: ((Typeable :: Type -> Constraint) :$: (Var0 :: Atom (Type -> Type) Type)))) :=>: (Field (Var0 :: Atom (Type -> Type) Type) :*: Field ('Kon a :: Atom (Type -> Type) Type)))

Methods

fromK :: forall (x :: LoT Type). (WeirdTreeR a :@@: x) -> RepK (WeirdTreeR a) x Source #

toK :: forall (x :: LoT Type). RepK (WeirdTreeR a) x -> WeirdTreeR a :@@: x Source #

GenericK WeirdTreeR Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK WeirdTreeR 
Instance details

Defined in Generics.Kind.Examples

Methods

fromK :: forall (x :: LoT (Type -> Type)). (WeirdTreeR :@@: x) -> RepK WeirdTreeR x Source #

toK :: forall (x :: LoT (Type -> Type)). RepK WeirdTreeR x -> WeirdTreeR :@@: x Source #

type RepK (WeirdTreeR a :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (WeirdTreeR a :: Type) = (Field ('Kon (WeirdTreeR a) :: Atom Type Type) :*: Field ('Kon (WeirdTreeR a) :: Atom Type Type)) :+: Exists Type ((('Kon (Show a) :: Atom (Type -> Type) Constraint) ':&: ((Eq :$: (Var0 :: Atom (Type -> Type) Type)) ':&: ((Typeable :: Type -> Constraint) :$: (Var0 :: Atom (Type -> Type) Type)))) :=>: (Field (Var0 :: Atom (Type -> Type) Type) :*: Field ('Kon a :: Atom (Type -> Type) Type)))
type RepK WeirdTreeR Source # 
Instance details

Defined in Generics.Kind.Examples

data TTY (m :: k) a where Source #

Constructors

WriteTTY :: forall {k} (m :: k). String -> TTY m () 
ReadTTY :: forall {k} (m :: k). TTY m [Char] 

Instances

Instances details
GenericK (TTY m a :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (TTY m a :: Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (TTY m a :: Type) = ((('Kon a :: Atom Type Type) :~: ('Kon () :: Atom Type Type)) :=>: Field ('Kon String :: Atom Type Type)) :+: ((('Kon a :: Atom Type Type) :~: ('Kon String :: Atom Type Type)) :=>: (U1 :: LoT Type -> Type))

Methods

fromK :: forall (x :: LoT Type). (TTY m a :@@: x) -> RepK (TTY m a) x Source #

toK :: forall (x :: LoT Type). RepK (TTY m a) x -> TTY m a :@@: x Source #

type RepK (TTY m a :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (TTY m a :: Type) = ((('Kon a :: Atom Type Type) :~: ('Kon () :: Atom Type Type)) :=>: Field ('Kon String :: Atom Type Type)) :+: ((('Kon a :: Atom Type Type) :~: ('Kon String :: Atom Type Type)) :=>: (U1 :: LoT Type -> Type))

data T (a :: k) where Source #

Constructors

MkT :: forall a1. Maybe a1 -> T a1 

Instances

Instances details
GenericK (T :: k -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (T :: k -> Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (T :: k -> Type) = Exists Type ((('Kon (k ~ Type) :: Atom (Type -> k -> Type) Constraint) ':&: ((Var0 :: Atom (Type -> k -> Type) Type) :~~: (Var1 :: Atom (Type -> k -> Type) k))) :=>: Field (Maybe :$: (Var0 :: Atom (Type -> k -> Type) Type)))

Methods

fromK :: forall (x :: LoT (k -> Type)). ((T :: k -> Type) :@@: x) -> RepK (T :: k -> Type) x Source #

toK :: forall (x :: LoT (k -> Type)). RepK (T :: k -> Type) x -> (T :: k -> Type) :@@: x Source #

type RepK (T :: k -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (T :: k -> Type) = Exists Type ((('Kon (k ~ Type) :: Atom (Type -> k -> Type) Constraint) ':&: ((Var0 :: Atom (Type -> k -> Type) Type) :~~: (Var1 :: Atom (Type -> k -> Type) k))) :=>: Field (Maybe :$: (Var0 :: Atom (Type -> k -> Type) Type)))

data P k (a :: k) where Source #

Constructors

P :: forall k (a :: k). P k a 

Instances

Instances details
GenericK (P k :: k -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (P k :: k -> Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (P k :: k -> Type) = U1 :: LoT (k -> Type) -> Type

Methods

fromK :: forall (x :: LoT (k -> Type)). (P k :@@: x) -> RepK (P k) x Source #

toK :: forall (x :: LoT (k -> Type)). RepK (P k) x -> P k :@@: x Source #

type RepK (P k :: k -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (P k :: k -> Type) = U1 :: LoT (k -> Type) -> Type

data P' j (a :: k) where Source #

Constructors

P' :: forall k (a :: k). P' k a 

Instances

Instances details
GenericK (P' :: Type -> k -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (P' :: Type -> k -> Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (P' :: Type -> k -> Type) = (('Kon k :: Atom (Type -> k -> Type) Type) :~: (Var0 :: Atom (Type -> k -> Type) Type)) :=>: (U1 :: LoT (Type -> k -> Type) -> Type)

Methods

fromK :: forall (x :: LoT (Type -> k -> Type)). ((P' :: Type -> k -> Type) :@@: x) -> RepK (P' :: Type -> k -> Type) x Source #

toK :: forall (x :: LoT (Type -> k -> Type)). RepK (P' :: Type -> k -> Type) x -> (P' :: Type -> k -> Type) :@@: x Source #

GenericK (P' j :: k -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (P' j :: k -> Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (P' j :: k -> Type) = (('Kon k :: Atom (k -> Type) Type) :~: ('Kon j :: Atom (k -> Type) Type)) :=>: (U1 :: LoT (k -> Type) -> Type)

Methods

fromK :: forall (x :: LoT (k -> Type)). ((P' j :: k -> Type) :@@: x) -> RepK (P' j :: k -> Type) x Source #

toK :: forall (x :: LoT (k -> Type)). RepK (P' j :: k -> Type) x -> (P' j :: k -> Type) :@@: x Source #

type RepK (P' :: Type -> k -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (P' :: Type -> k -> Type) = (('Kon k :: Atom (Type -> k -> Type) Type) :~: (Var0 :: Atom (Type -> k -> Type) Type)) :=>: (U1 :: LoT (Type -> k -> Type) -> Type)
type RepK (P' j :: k -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (P' j :: k -> Type) = (('Kon k :: Atom (k -> Type) Type) :~: ('Kon j :: Atom (k -> Type) Type)) :=>: (U1 :: LoT (k -> Type) -> Type)

newtype Ranky Source #

Constructors

MkRanky (forall a. a -> a) 

Instances

Instances details
GenericK Ranky Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK Ranky 
Instance details

Defined in Generics.Kind.Examples

type RepK Ranky = Field ('ForAll (((->) :$: (Var0 :: Atom (Type -> Type) Type)) ':@: (Var0 :: Atom (Type -> Type) Type)))

Methods

fromK :: forall (x :: LoT Type). (Ranky :@@: x) -> RepK Ranky x Source #

toK :: forall (x :: LoT Type). RepK Ranky x -> Ranky :@@: x Source #

type RepK Ranky Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK Ranky = Field ('ForAll (((->) :$: (Var0 :: Atom (Type -> Type) Type)) ':@: (Var0 :: Atom (Type -> Type) Type)))

newtype Ranky2 b Source #

Constructors

MkRanky2 ((forall a. a -> a) -> b) 

Instances

Instances details
GenericK Ranky2 Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK Ranky2 
Instance details

Defined in Generics.Kind.Examples

type RepK Ranky2 = Field (((->) :$: 'ForAll (((->) :$: (Var0 :: Atom (Type -> Type -> Type) Type)) ':@: (Var0 :: Atom (Type -> Type -> Type) Type))) ':@: (Var0 :: Atom (Type -> Type) Type))

Methods

fromK :: forall (x :: LoT (Type -> Type)). (Ranky2 :@@: x) -> RepK Ranky2 x Source #

toK :: forall (x :: LoT (Type -> Type)). RepK Ranky2 x -> Ranky2 :@@: x Source #

type RepK Ranky2 Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK Ranky2 = Field (((->) :$: 'ForAll (((->) :$: (Var0 :: Atom (Type -> Type -> Type) Type)) ':@: (Var0 :: Atom (Type -> Type -> Type) Type))) ':@: (Var0 :: Atom (Type -> Type) Type))

data Shower a where Source #

Constructors

MkShower :: forall a. (Show a => a -> String) -> Shower a 

Instances

Instances details
GenericK Shower Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK Shower 
Instance details

Defined in Generics.Kind.Examples

type RepK Shower = Field ((Show :$: (Var0 :: Atom (Type -> Type) Type)) ':=>>: (((->) :$: (Var0 :: Atom (Type -> Type) Type)) ':@: ('Kon String :: Atom (Type -> Type) Type)))

Methods

fromK :: forall (x :: LoT (Type -> Type)). (Shower :@@: x) -> RepK Shower x Source #

toK :: forall (x :: LoT (Type -> Type)). RepK Shower x -> Shower :@@: x Source #

type RepK Shower Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK Shower = Field ((Show :$: (Var0 :: Atom (Type -> Type) Type)) ':=>>: (((->) :$: (Var0 :: Atom (Type -> Type) Type)) ':@: ('Kon String :: Atom (Type -> Type) Type)))

data Unboxed1 Source #

Constructors

MkUnboxed1 (# Int, Int #) 

newtype Hkd (f :: k -> Exp Type) (a :: k) Source #

Constructors

Hkd (Eval (f a)) 

Instances

Instances details
GenericK (Hkd f a :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (Hkd f a :: Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (Hkd f a :: Type) = Field ('Kon (Eval (f a)) :: Atom Type Type)

Methods

fromK :: forall (x :: LoT Type). (Hkd f a :@@: x) -> RepK (Hkd f a) x Source #

toK :: forall (x :: LoT Type). RepK (Hkd f a) x -> Hkd f a :@@: x Source #

GenericK (Hkd :: (k -> Exp Type) -> k -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (Hkd :: (k -> Exp Type) -> k -> Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (Hkd :: (k -> Exp Type) -> k -> Type) = Field ('Eval ((Var0 :: Atom ((k -> Exp Type) -> k -> Type) (k -> Exp Type)) ':@: (Var1 :: Atom ((k -> Exp Type) -> k -> Type) k)))

Methods

fromK :: forall (x :: LoT ((k -> Exp Type) -> k -> Type)). ((Hkd :: (k -> Exp Type) -> k -> Type) :@@: x) -> RepK (Hkd :: (k -> Exp Type) -> k -> Type) x Source #

toK :: forall (x :: LoT ((k -> Exp Type) -> k -> Type)). RepK (Hkd :: (k -> Exp Type) -> k -> Type) x -> (Hkd :: (k -> Exp Type) -> k -> Type) :@@: x Source #

GenericK (Hkd f :: k -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

Associated Types

type RepK (Hkd f :: k -> Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (Hkd f :: k -> Type) = Field ('Eval (('Kon f :: Atom (k -> Type) (k -> Exp Type)) ':@: (Var0 :: Atom (k -> Type) k)))

Methods

fromK :: forall (x :: LoT (k -> Type)). (Hkd f :@@: x) -> RepK (Hkd f) x Source #

toK :: forall (x :: LoT (k -> Type)). RepK (Hkd f) x -> Hkd f :@@: x Source #

type RepK (Hkd f a :: Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (Hkd f a :: Type) = Field ('Kon (Eval (f a)) :: Atom Type Type)
type RepK (Hkd :: (k -> Exp Type) -> k -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (Hkd :: (k -> Exp Type) -> k -> Type) = Field ('Eval ((Var0 :: Atom ((k -> Exp Type) -> k -> Type) (k -> Exp Type)) ':@: (Var1 :: Atom ((k -> Exp Type) -> k -> Type) k)))
type RepK (Hkd f :: k -> Type) Source # 
Instance details

Defined in Generics.Kind.Examples

type RepK (Hkd f :: k -> Type) = Field ('Eval (('Kon f :: Atom (k -> Type) (k -> Exp Type)) ':@: (Var0 :: Atom (k -> Type) k)))

Orphan instances

GenericK (Maybe a :: Type) Source # 
Instance details

Associated Types

type RepK (Maybe a :: Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (Maybe a :: Type) = SubstRep (RepK Maybe) a

Methods

fromK :: forall (x :: LoT Type). (Maybe a :@@: x) -> RepK (Maybe a) x Source #

toK :: forall (x :: LoT Type). RepK (Maybe a) x -> Maybe a :@@: x Source #

GenericK ([a] :: Type) Source # 
Instance details

Associated Types

type RepK ([a] :: Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK ([a] :: Type) = SubstRep (RepK []) a

Methods

fromK :: forall (x :: LoT Type). ([a] :@@: x) -> RepK [a] x Source #

toK :: forall (x :: LoT Type). RepK [a] x -> [a] :@@: x Source #

GenericK (Either a b :: Type) Source # 
Instance details

Associated Types

type RepK (Either a b :: Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (Either a b :: Type) = SubstRep (RepK (Either a)) b

Methods

fromK :: forall (x :: LoT Type). (Either a b :@@: x) -> RepK (Either a b) x Source #

toK :: forall (x :: LoT Type). RepK (Either a b) x -> Either a b :@@: x Source #

GenericK Either Source # 
Instance details

Associated Types

type RepK Either 
Instance details

Defined in Generics.Kind.Examples

type RepK Either = Field (Var0 :: Atom (Type -> Type -> Type) Type) :+: Field (Var1 :: Atom (Type -> Type -> Type) Type)

Methods

fromK :: forall (x :: LoT (Type -> Type -> Type)). (Either :@@: x) -> RepK Either x Source #

toK :: forall (x :: LoT (Type -> Type -> Type)). RepK Either x -> Either :@@: x Source #

GenericK Maybe Source # 
Instance details

Associated Types

type RepK Maybe 
Instance details

Defined in Generics.Kind.Examples

type RepK Maybe = (U1 :: LoT (Type -> Type) -> Type) :+: Field (Var0 :: Atom (Type -> Type) Type)

Methods

fromK :: forall (x :: LoT (Type -> Type)). (Maybe :@@: x) -> RepK Maybe x Source #

toK :: forall (x :: LoT (Type -> Type)). RepK Maybe x -> Maybe :@@: x Source #

GenericK [] Source # 
Instance details

Associated Types

type RepK [] 
Instance details

Defined in Generics.Kind.Examples

type RepK [] = (U1 :: LoT (Type -> Type) -> Type) :+: (Field (Var0 :: Atom (Type -> Type) Type) :*: Field ([] :$: (Var0 :: Atom (Type -> Type) Type)))

Methods

fromK :: forall (x :: LoT (Type -> Type)). ([] :@@: x) -> RepK [] x Source #

toK :: forall (x :: LoT (Type -> Type)). RepK [] x -> [] :@@: x Source #

GenericK (Either a :: Type -> Type) Source # 
Instance details

Associated Types

type RepK (Either a :: Type -> Type) 
Instance details

Defined in Generics.Kind.Examples

type RepK (Either a :: Type -> Type) = SubstRep (RepK Either) a

Methods

fromK :: forall (x :: LoT (Type -> Type)). (Either a :@@: x) -> RepK (Either a) x Source #

toK :: forall (x :: LoT (Type -> Type)). RepK (Either a) x -> Either a :@@: x Source #