Portability | non-portable (rank-2 polymorphism) |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Since in Hask, Mu = Nu, we don't bother to distinguish them here
- newtype FixF f = InF {}
- 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 {}
- 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
identityBialgebraF :: Bialgebra f f (FixF f)Source
Bifunctor fixpoint
(Bifunctor f Hask Hask Hask, PMonad f) => Monad (Fix f) | |
Bifunctor s Hask Hask Hask => Functor (Fix s) | |
(Bifunctor f Hask Hask Hask, PCopointed f) => Copointed (Fix f) | |
(Bifunctor f Hask Hask Hask, PPointed f) => Pointed (Fix f) | |
(Bifunctor f Hask Hask Hask, PComonad f) => Comonad (Fix f) | |
Bizip p => Zip (Fix p) |
identityBialgebraB :: Bialgebra (f a) (f a) (Fix f a)Source