Control.Monad.Base

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

Safe Haskell | Safe
Language | Haskell98

Control.Monad.Base

Synopsis

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

# Documentation

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

Minimal complete definition

liftBase

Methods

liftBase :: b α -> m α #

Lift a computation from the base monad

Instances

MonadBase [] [] # |
Methods liftBase :: [α] -> [α] #
MonadBase Maybe Maybe # |
Methods liftBase :: Maybe α -> Maybe α #
MonadBase IO IO # |
Methods liftBase :: IO α -> IO α #
MonadBase Identity Identity # |
Methods liftBase :: Identity α -> Identity α #
MonadBase STM STM # |
Methods liftBase :: STM α -> STM α #
MonadBase b m => MonadBase b (ListT m) # |
Methods liftBase :: b α -> ListT m α #
MonadBase b m => MonadBase b (MaybeT m) # |
Methods liftBase :: b α -> MaybeT m α #
(Error e, MonadBase b m) => MonadBase b (ErrorT e m) # |
Methods liftBase :: b α -> ErrorT e m α #
(Monoid w, MonadBase b m) => MonadBase b (WriterT w m) # |
Methods liftBase :: b α -> WriterT w m α #
(Monoid w, MonadBase b m) => MonadBase b (WriterT w m) # |
Methods liftBase :: b α -> WriterT w m α #
MonadBase b m => MonadBase b (ExceptT e m) # |
Methods liftBase :: b α -> ExceptT e m α #
MonadBase b m => MonadBase b (StateT s m) # |
Methods liftBase :: b α -> StateT s m α #
MonadBase b m => MonadBase b (StateT s m) # |
Methods liftBase :: b α -> StateT s m α #
MonadBase b m => MonadBase b (IdentityT * m) # |
Methods liftBase :: b α -> IdentityT * m α #
MonadBase b m => MonadBase b (ContT * r m) # |
Methods liftBase :: b α -> ContT * r m α #
MonadBase b m => MonadBase b (ReaderT * r m) # |
Methods liftBase :: b α -> ReaderT * r m α #
(Monoid w, MonadBase b m) => MonadBase b (RWST r w s m) # |
Methods liftBase :: b α -> RWST r w s m α #
(Monoid w, MonadBase b m) => MonadBase b (RWST r w s m) # |
Methods liftBase :: b α -> RWST r w s m α #
MonadBase ((->) r) ((->) r) # |
Methods liftBase :: (r -> α) -> r -> α #
MonadBase (Either e) (Either e) # |
Methods liftBase :: Either e α -> Either e α #
MonadBase (ST s) (ST s) # |
Methods liftBase :: ST s α -> ST s α #
MonadBase (ST s) (ST s) # |
Methods liftBase :: ST s α -> ST s α #

liftBaseDefault :: (MonadTrans t, MonadBase b m) => b α -> t m α #

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

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