transformers-base-0.4.6: Lift computations from the bottom of a transformer stack

Safe Haskell | Safe
Language | Haskell2010

Control.Monad.Base

Synopsis

- class (Applicative b, Applicative m, Monad b, Monad m) => MonadBase (b :: Type -> Type) (m :: Type -> Type) | m -> b where
  - liftBase :: b α -> m α
- liftBaseDefault :: forall t b (m :: Type -> Type) α. (MonadTrans t, MonadBase b m) => b α -> t m α

# Documentation

class (Applicative b, Applicative m, Monad b, Monad m) => MonadBase (b :: Type -> Type) (m :: Type -> Type) | m -> b where Source #

Methods

liftBase :: b α -> m α Source #

Lift a computation from the base monad

#### Instances

Instances details

MonadBase STM STM Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: STM α -> STM α Source #
MonadBase Identity Identity Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: Identity α -> Identity α Source #
MonadBase IO IO Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: IO α -> IO α Source #
MonadBase Maybe Maybe Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: Maybe α -> Maybe α Source #
MonadBase [] [] Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: [α] -> [α] Source #
MonadBase b m => MonadBase b (MaybeT m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> MaybeT m α Source #
(Monoid w, MonadBase b m) => MonadBase b (AccumT w m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> AccumT w m α Source #
MonadBase b m => MonadBase b (ExceptT e m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> ExceptT e m α Source #
MonadBase b m => MonadBase b (IdentityT m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> IdentityT m α Source #
MonadBase b m => MonadBase b (ReaderT r m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> ReaderT r m α Source #
MonadBase b m => MonadBase b (SelectT r m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> SelectT r m α Source #
MonadBase b m => MonadBase b (StateT s m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> StateT s m α Source #
MonadBase b m => MonadBase b (StateT s m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> StateT s m α Source #
(Monoid w, MonadBase b m) => MonadBase b (WriterT w m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> WriterT w m α Source #
(Monoid w, MonadBase b m) => MonadBase b (WriterT w m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> WriterT w m α Source #
(Monoid w, MonadBase b m) => MonadBase b (WriterT w m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> WriterT w m α Source #
MonadBase b m => MonadBase b (ContT r m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> ContT r m α Source #
(Monoid w, MonadBase b m) => MonadBase b (RWST r w s m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> RWST r w s m α Source #
(Monoid w, MonadBase b m) => MonadBase b (RWST r w s m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> RWST r w s m α Source #
(Monoid w, MonadBase b m) => MonadBase b (RWST r w s m) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: b α -> RWST r w s m α Source #
MonadBase (ST s) (ST s) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: ST s α -> ST s α Source #
MonadBase (Either e) (Either e) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: Either e α -> Either e α Source #
MonadBase (ST s) (ST s) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: ST s α -> ST s α Source #
MonadBase ((->) r) ((->) r) Source # |
Instance details Defined in Control.Monad.Base Methods liftBase :: (r -> α) -> r -> α Source #

liftBaseDefault :: forall t b (m :: Type -> Type) α. (MonadTrans t, MonadBase b m) => b α -> t m α Source #

Can be used as a default implementation for `liftBase`.

Note that: `liftBaseDefault = `lift` . `liftBase``