category-extras-0.53.6: Various modules and constructs inspired by category theoryContentsIndex
Control.Monad.Ideal
Portabilityportable
Stabilityexperimental
MaintainerEdward 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
Methods
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
Mutual recursion for (co)ideal (co)monad (co)products
newtype Mutual p m n a
Constructors
Mutual
runMutual :: m (p a (Mutual p n m a))
show/hide 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
Produced by Haddock version 2.1.0