Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class MonadTransDistributive g where Source #
type Transformer (f :: (Type -> Type) -> Type -> Type) (g :: (Type -> Type) -> Type -> Type) (m :: Type -> Type) :: Constraint Source #
type Transformer f g m = (Monad m, Monad (f m), Monad (g m), Monad (f (g m)), MonadTrans f, MFunctor f)
distributeT :: Transformer f g m => g (f m) a -> f (g m) a Source #
Distribute one monad transformer over another.