Portability | non-portable (rank-2 polymorphism) |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Traditional operators, shown here to show how to roll your own
- futu :: RunMonadFree f m => GCoalgebra f m a -> a -> FixF f
- g_futu :: (Functor f, RunMonadFree h m) => Dist h f -> GCoalgebra f m a -> a -> FixF f
- postpro_futu :: RunMonadFree f m => GCoalgebra f m a -> (f :~> f) -> a -> FixF f
- g_postpro_futu :: (Functor f, RunMonadFree h m) => Dist h f -> GCoalgebra f m a -> (f :~> f) -> a -> FixF f
- distFutu :: (Functor f, RunMonadFree h m) => Dist h f -> Dist m f
Documentation
futu :: RunMonadFree f m => GCoalgebra f m a -> a -> FixF fSource
Generalized from futu :: Functor f => GCoalgebra f (Free f) a -> a -> FixF f
g_futu :: (Functor f, RunMonadFree h m) => Dist h f -> GCoalgebra f m a -> a -> FixF fSource
postpro_futu :: RunMonadFree f m => GCoalgebra f m a -> (f :~> f) -> a -> FixF fSource
A futumorphic postpromorphism
g_postpro_futu :: (Functor f, RunMonadFree h m) => Dist h f -> GCoalgebra f m a -> (f :~> f) -> a -> FixF fSource
A generalized-futumorphic postpromorphism
distFutu :: (Functor f, RunMonadFree h m) => Dist h f -> Dist m fSource
Turn a distributive law for a functor into a distributive law for the free monad of that functor. This has been generalized to support generating distributive laws for a number of related free-monad-like constructions such as the Codensity monad of the free monad of a functor.