yoko-2.0: Generic Programming with Disbanded Data Types

Safe HaskellSafe-Inferred

Data.Yoko.W

Documentation

data family W t :: (* -> * -> *) -> * -> * -> *Source

unW0 :: W * t s p1 p0 -> t -> s p1 p0Source

unW1 :: W (* -> *) t s p1 p0 -> t p0 -> s p1 p0Source

unW2 :: W (* -> * -> *) t s p1 p0 -> t p1 p0 -> s p1 p0Source

data family W' s :: (* -> * -> *) -> * -> * -> *Source

unW'0 :: W' * s t p1 p0 -> t p1 p0 -> sSource

unW'1 :: W' (* -> *) s t p1 p0 -> t p1 p0 -> s p0Source

unW'2 :: W' (* -> * -> *) s t p1 p0 -> t p1 p0 -> s p1 p0Source

data family Sym t :: k -> * -> * -> *Source

unSym0 :: Sym * t s p1 p0 -> t -> sSource

unSym1 :: Sym (* -> *) t s p1 p0 -> t p0 -> s p0Source

unSym2 :: Sym (* -> * -> *) t s p1 p0 -> t p1 p0 -> s p1 p0Source

class ComposeW t whereSource

Methods

composeW :: (s p1 p0 -> s' p1 p0) -> W t s p1 p0 -> W t s' p1 p0Source

composeW' :: W' t s' p1 p0 -> (s p1 p0 -> s' p1 p0) -> W' t s p1 p0Source

sym :: W' t' s p1 p0 -> W t s p1 p0 -> Sym t t' p1 p0Source

unSym :: W t s' p1 p0 -> W' t s p1 p0 -> s p1 p0 -> s' p1 p0Source

composeSymW' :: Sym t t' p1 p0 -> W' t s p1 p0 -> W' t' s p1 p0Source

composeWSym :: W t' s p1 p0 -> Sym t t' p1 p0 -> W t s p1 p0Source

Instances

ComposeW * t 
ComposeW (* -> * -> *) t 
ComposeW (* -> *) t