-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Lift computations from the bottom of a transformer stack
--
-- This package provides a straightforward port of monadLib's
-- BaseM typeclass to transformers.
@package transformers-base
@version 0.2
module Control.Monad.Base
class (Applicative μ, Monad μ, Applicative η, Monad η) => MonadBase μ η | μ -> η
liftBase :: MonadBase μ η => η α -> μ α
instance MonadBase μ η => MonadBase (ContT r μ) η
instance (Error e, MonadBase μ η) => MonadBase (ErrorT e μ) η
instance (Monoid w, MonadBase μ η) => MonadBase (RWST r w s μ) η
instance (Monoid w, MonadBase μ η) => MonadBase (RWST r w s μ) η
instance MonadBase μ η => MonadBase (StateT s μ) η
instance MonadBase μ η => MonadBase (StateT s μ) η
instance (Monoid w, MonadBase μ η) => MonadBase (WriterT w μ) η
instance (Monoid w, MonadBase μ η) => MonadBase (WriterT w μ) η
instance MonadBase μ η => MonadBase (ReaderT r μ) η
instance MonadBase μ η => MonadBase (ListT μ) η
instance MonadBase μ η => MonadBase (MaybeT μ) η
instance MonadBase μ η => MonadBase (IdentityT μ) η
instance MonadBase (ST s) (ST s)
instance MonadBase (ST s) (ST s)
instance MonadBase [] []
instance MonadBase (Either e) (Either e)
instance MonadBase Maybe Maybe
instance MonadBase Identity Identity
instance MonadBase IO IO
module Control.Monad.Base.Control
class MonadBase μ η => MonadBaseControl μ η | μ -> η
liftBaseControl :: MonadBaseControl μ η => (RunInBase μ η -> η α) -> μ α
controlBase :: MonadBaseControl μ η => (RunInBase μ η -> η (μ α)) -> μ α
liftBaseOp :: MonadBaseControl μ η => ((α -> η (μ β)) -> η (μ γ)) -> (α -> μ β) -> μ γ
liftBaseOp_ :: MonadBaseControl μ η => (η (μ β) -> η (μ γ)) -> μ β -> μ γ
instance (Monoid w, MonadBaseControl μ η) => MonadBaseControl (RWST r w s μ) η
instance (Monoid w, MonadBaseControl μ η) => MonadBaseControl (RWST r w s μ) η
instance MonadBaseControl μ η => MonadBaseControl (StateT s μ) η
instance MonadBaseControl μ η => MonadBaseControl (StateT s μ) η
instance (Monoid w, MonadBaseControl μ η) => MonadBaseControl (WriterT w μ) η
instance (Monoid w, MonadBaseControl μ η) => MonadBaseControl (WriterT w μ) η
instance MonadBaseControl μ η => MonadBaseControl (ReaderT r μ) η
instance MonadBaseControl μ η => MonadBaseControl (ListT μ) η
instance (Error e, MonadBaseControl μ η) => MonadBaseControl (ErrorT e μ) η
instance MonadBaseControl μ η => MonadBaseControl (MaybeT μ) η
instance MonadBaseControl μ η => MonadBaseControl (IdentityT μ) η
instance MonadBaseControl IO IO