-- 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.4.6
module Control.Monad.Base
class (Applicative b, Applicative m, Monad b, Monad m) => MonadBase b m | m -> b
-- | Lift a computation from the base monad
liftBase :: MonadBase b m => b α -> m α
-- | Can be used as a default implementation for liftBase.
--
-- Note that: liftBaseDefault = lift . liftBase
liftBaseDefault :: (MonadTrans t, MonadBase b m) => b α -> t m α
instance Control.Monad.Base.MonadBase GHC.Types.IO GHC.Types.IO
instance Control.Monad.Base.MonadBase GHC.Maybe.Maybe GHC.Maybe.Maybe
instance Control.Monad.Base.MonadBase (Data.Either.Either e) (Data.Either.Either e)
instance Control.Monad.Base.MonadBase [] []
instance Control.Monad.Base.MonadBase ((->) r) ((->) r)
instance Control.Monad.Base.MonadBase Data.Functor.Identity.Identity Data.Functor.Identity.Identity
instance Control.Monad.Base.MonadBase GHC.Conc.Sync.STM GHC.Conc.Sync.STM
instance Control.Monad.Base.MonadBase (Control.Monad.ST.Lazy.Imp.ST s) (Control.Monad.ST.Lazy.Imp.ST s)
instance Control.Monad.Base.MonadBase (GHC.ST.ST s) (GHC.ST.ST s)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Identity.IdentityT m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Maybe.MaybeT m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Reader.ReaderT r m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.State.Lazy.StateT s m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.State.Strict.StateT s m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Cont.ContT r m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Except.ExceptT e m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Select.SelectT r m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.Trans.List.ListT m)
instance (GHC.Base.Monoid w, Control.Monad.Base.MonadBase b m) => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Writer.Lazy.WriterT w m)
instance (GHC.Base.Monoid w, Control.Monad.Base.MonadBase b m) => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Writer.Strict.WriterT w m)
instance (GHC.Base.Monoid w, Control.Monad.Base.MonadBase b m) => Control.Monad.Base.MonadBase b (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
instance (GHC.Base.Monoid w, Control.Monad.Base.MonadBase b m) => Control.Monad.Base.MonadBase b (Control.Monad.Trans.RWS.Strict.RWST r w s m)
instance (GHC.Base.Monoid w, Control.Monad.Base.MonadBase b m) => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Writer.CPS.WriterT w m)
instance (GHC.Base.Monoid w, Control.Monad.Base.MonadBase b m) => Control.Monad.Base.MonadBase b (Control.Monad.Trans.RWS.CPS.RWST r w s m)
instance (Control.Monad.Trans.Error.Error e, Control.Monad.Base.MonadBase b m) => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Error.ErrorT e m)
instance (GHC.Base.Monoid w, Control.Monad.Base.MonadBase b m) => Control.Monad.Base.MonadBase b (Control.Monad.Trans.Accum.AccumT w m)