catalyst-0.0.0.0: A Category typeclass hierarchy powerful enough to encode full programs.
Safe HaskellNone
LanguageHaskell2010

Control.Category.Recursive

Documentation

class Category k => Recursive k where Source #

Methods

recurseL :: (Either a s `k` Either b s) -> a `k` b Source #

recurseR :: (Either s a `k` Either s b) -> a `k` b Source #

Instances

Instances details
Recursive ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Control.Category.Recursive

Methods

recurseL :: (Either a s -> Either b s) -> a -> b Source #

recurseR :: (Either s a -> Either s b) -> a -> b Source #

r ~ 'Req 'HasCategory symP symS monP monS cart cocart 'HasRecursive fix => Recursive (Catalyst r c) Source # 
Instance details

Defined in Control.Category.Free

Methods

recurseL :: Catalyst r c (Either a s) (Either b s) -> Catalyst r c a b Source #

recurseR :: Catalyst r c (Either s a) (Either s b) -> Catalyst r c a b Source #

class Category k => Fixed k where Source #

Methods

fixL :: ((a, s) `k` (b, s)) -> a `k` b Source #

fixR :: ((s, a) `k` (s, b)) -> a `k` b Source #

Instances

Instances details
Fixed ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Control.Category.Recursive

Methods

fixL :: ((a, s) -> (b, s)) -> a -> b Source #

fixR :: ((s, a) -> (s, b)) -> a -> b Source #

r ~ 'Req 'HasCategory symP symS monP monS cart cocart rec 'HasFixed => Fixed (Catalyst r c) Source # 
Instance details

Defined in Control.Category.Free

Methods

fixL :: Catalyst r c (a, s) (b, s) -> Catalyst r c a b Source #

fixR :: Catalyst r c (s, a) (s, b) -> Catalyst r c a b Source #