Portability | portable |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
- class Functor m => MonadIdeal m where
- type Ideal = Ap Either
- ideal :: Either a (f a) -> Ideal f a
- destroyIdeal :: Algebra m a -> Ideal m a -> a
- class Functor w => ComonadCoideal w where
- coidealize :: w a -> w (a, w a)
- type Coideal = Ap (,)
- coideal :: (a, f a) -> Coideal f a
- buildCoideal :: Coalgebra m a -> a -> Coideal m a
- newtype Mutual p m n a = Mutual {}
- type :* m n = Mutual' (,) m n
- type :+ m n = Mutual' Either m n
Ideal Monads
destroyIdeal :: Algebra m a -> Ideal m a -> aSource
Coideal Comonads
class Functor w => ComonadCoideal w whereSource
coidealize :: w a -> w (a, w a)Source
buildCoideal :: Coalgebra m a -> a -> Coideal m aSource