Control.Category.Recursive
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 #
Defined in Control.Category.Recursive
recurseL :: (Either a s -> Either b s) -> a -> b Source #
recurseR :: (Either s a -> Either s b) -> a -> b Source #
Defined in Control.Category.Free
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 #
fixL :: ((a, s) `k` (b, s)) -> a `k` b Source #
fixR :: ((s, a) `k` (s, b)) -> a `k` b Source #
fixL :: ((a, s) -> (b, s)) -> a -> b Source #
fixR :: ((s, a) -> (s, b)) -> a -> b Source #
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 #