-- 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.3
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