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.