category-extras-0.53.5: Various modules and constructs inspired by category theorySource codeContentsIndex
Control.Functor.Fix
Portabilitynon-portable (rank-2 polymorphism)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Contents
Functor fixpoint
Bifunctor fixpoint
Description
Since in Hask, Mu = Nu, we don't bother to distinguish them here
Synopsis
newtype FixF f = InF {
outF :: f (FixF f)
}
outM :: (Functor f, Monad m) => GCoalgebra f m (FixF f)
inW :: (Functor f, Comonad w) => GAlgebra f w (FixF f)
identityBialgebraF :: Bialgebra f f (FixF f)
newtype Fix s a = InB {
outB :: s a (Fix s a)
}
identityBialgebraB :: Bialgebra (f a) (f a) (Fix f a)
paugment :: PMonad f => (forall c. (f a c -> c) -> c) -> (a -> Fix f b) -> Fix f b
pcoaugment :: PComonad f => ((Fix f a -> f b (Fix f a)) -> Fix f b) -> (Fix f a -> b) -> Fix f b
Functor fixpoint
newtype FixF f Source
Constructors
InF
outF :: f (FixF f)
outM :: (Functor f, Monad m) => GCoalgebra f m (FixF f)Source
inW :: (Functor f, Comonad w) => GAlgebra f w (FixF f)Source
identityBialgebraF :: Bialgebra f f (FixF f)Source
Bifunctor fixpoint
newtype Fix s a Source
Constructors
InB
outB :: s a (Fix s a)
show/hide Instances
identityBialgebraB :: Bialgebra (f a) (f a) (Fix f a)Source
paugment :: PMonad f => (forall c. (f a c -> c) -> c) -> (a -> Fix f b) -> Fix f bSource
pcoaugment :: PComonad f => ((Fix f a -> f b (Fix f a)) -> Fix f b) -> (Fix f a -> b) -> Fix f bSource
Produced by Haddock version 2.4.2