Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
class MonadTransDistributive g where Source #
type Transformer (f :: (* -> *) -> * -> *) (g :: (* -> *) -> * -> *) (m :: * -> *) :: Constraint Source #
distributeT :: Transformer f g m => g (f m) a -> f (g m) a Source #
Distribute one monad transformer over another.
Instances
class MonadTransControl t => MonadTransJuggle (t :: (* -> *) -> * -> *) where Source #
mapStT :: Proxy t -> Proxy a -> (a -> b) -> StT t a -> StT t b Source #
juggleState :: Proxy t -> Proxy a -> s -> StT t (a, s) -> (StT t a, s) Source #
Instances
MonadTransJuggle MaybeT Source # | |
MonadTransJuggle (ExceptT x) Source # | |
Monoid w => MonadTransJuggle (WriterT w) Source # | |
MonadTransJuggle (StateT s) Source # | |
MonadTransJuggle (StateT s) Source # | |
Monoid w => MonadTransJuggle (WriterT w) Source # | |
MonadTransJuggle (ReaderT r :: (Type -> Type) -> Type -> Type) Source # | |
Monoid w => MonadTransJuggle (RWST r w s) Source # | |
Monoid w => MonadTransJuggle (RWST r w s) Source # | |