Cascade-0.1.0.0: Playing with reified categorical composition
Cascade
data CascadeC c ts where Source
Constructors
transform :: (forall a b. c a b -> c' a b) -> CascadeC c ts -> CascadeC c' ts Source
cascade :: Category c => CascadeC c (t : ts) -> c t (Last (t : ts)) Source
type Cascade = CascadeC (->) Source
type CascadeM m = CascadeC (Kleisli m) Source
(>=>:) :: (x -> m y) -> CascadeM m (y : zs) -> CascadeM m (x : (y : zs)) infixr 1 Source
cascadeM :: Monad m => CascadeM m (t : ts) -> t -> m (Last (t : ts)) Source
unwrapM :: CascadeM Identity ts -> Cascade ts Source
wrapM :: Monad m => Cascade ts -> CascadeM m ts Source
type CascadeW w = CascadeC (Cokleisli w) Source
(=>=:) :: (w x -> y) -> CascadeW w (y : zs) -> CascadeW w (x : (y : zs)) infixr 1 Source
cascadeW :: Comonad w => CascadeW w (t : ts) -> w t -> Last (t : ts) Source
unwrapW :: CascadeW Identity ts -> Cascade ts Source
wrapW :: Comonad w => Cascade ts -> CascadeW w ts Source