category-extras-0.53.5: Various modules and constructs inspired by category theory
Source code
Contents
Index
Control.Monad.Ideal
Portability
portable
Stability
experimental
Maintainer
Edward Kmett <ekmett@gmail.com>
Contents
Ideal Monads
Mutual recursion for (co)ideal (co)monad (co)products
Ideal Monad Coproduct
Description
Synopsis
class
Functor
m =>
MonadIdeal
m
where
idealize
:: m (
Either
a (m a)) -> m a
type
Ideal
=
Ap
Either
ideal
::
Either
a (f a) ->
Ideal
f a
destroyIdeal
::
Algebra
m a ->
Ideal
m a -> a
newtype
Mutual
p m n a =
Mutual
{
runMutual
:: m (p a (
Mutual
p n m a))
}
type
:+
m n = Mutual'
Either
m n
Ideal Monads
class
Functor
m =>
MonadIdeal
m
where
Source
Methods
idealize
:: m (
Either
a (m a)) -> m a
Source
type
Ideal
=
Ap
Either
Source
ideal
::
Either
a (f a) ->
Ideal
f a
Source
destroyIdeal
::
Algebra
m a ->
Ideal
m a -> a
Source
Mutual recursion for (co)ideal (co)monad (co)products
newtype
Mutual
p m n a
Source
Constructors
Mutual
runMutual
:: m (p a (
Mutual
p n m a))
Instances
(
Bifunctor
p
Hask
Hask
Hask
,
Functor
m,
Functor
n) =>
Functor
(
Mutual
p m n)
Ideal Monad Coproduct
type
:+
m n = Mutual'
Either
m n
Source
Produced by
Haddock
version 2.4.2