persistent-mtl-0.5.1: Monad transformer for the persistent API
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.Trans.Rerunnable

Description

Defines the MonadRerunnableTrans type class that is functionally equivalent to MonadTrans, but use of it requires the user to explicitly acknowledge that lifting the given action can be rerun.

Synopsis

Documentation

class MonadRerunnableTrans t where Source #

A copy of MonadTrans to explicitly allow only lifting actions that are rerunnable, e.g. in the context of a SQL transaction.

Methods

rerunnableLift :: Monad m => m a -> t m a Source #

Lift the given action.

The given action may be rerun, so use of this function requires manually verifying that the given action is rerunnable.

Instances

Instances details
MonadRerunnableTrans SqlTransaction Source # 
Instance details

Defined in Database.Persist.Monad.Internal.SqlTransaction

Methods

rerunnableLift :: Monad m => m a -> SqlTransaction m a Source #

MonadRerunnableTrans ResourceT Source # 
Instance details

Defined in Control.Monad.Trans.Rerunnable

Methods

rerunnableLift :: Monad m => m a -> ResourceT m a Source #

MonadRerunnableTrans MaybeT Source # 
Instance details

Defined in Control.Monad.Trans.Rerunnable

Methods

rerunnableLift :: Monad m => m a -> MaybeT m a Source #

MonadRerunnableTrans (ExceptT e) Source # 
Instance details

Defined in Control.Monad.Trans.Rerunnable

Methods

rerunnableLift :: Monad m => m a -> ExceptT e m a Source #

MonadRerunnableTrans (IdentityT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Trans.Rerunnable

Methods

rerunnableLift :: Monad m => m a -> IdentityT m a Source #

MonadRerunnableTrans (ReaderT r) Source # 
Instance details

Defined in Control.Monad.Trans.Rerunnable

Methods

rerunnableLift :: Monad m => m a -> ReaderT r m a Source #

MonadRerunnableTrans (StateT s) Source # 
Instance details

Defined in Control.Monad.Trans.Rerunnable

Methods

rerunnableLift :: Monad m => m a -> StateT s m a Source #

MonadRerunnableTrans (StateT s) Source # 
Instance details

Defined in Control.Monad.Trans.Rerunnable

Methods

rerunnableLift :: Monad m => m a -> StateT s m a Source #

Monoid w => MonadRerunnableTrans (WriterT w) Source # 
Instance details

Defined in Control.Monad.Trans.Rerunnable

Methods

rerunnableLift :: Monad m => m a -> WriterT w m a Source #

Monoid w => MonadRerunnableTrans (WriterT w) Source # 
Instance details

Defined in Control.Monad.Trans.Rerunnable

Methods

rerunnableLift :: Monad m => m a -> WriterT w m a Source #

Monoid w => MonadRerunnableTrans (RWST r w s) Source # 
Instance details

Defined in Control.Monad.Trans.Rerunnable

Methods

rerunnableLift :: Monad m => m a -> RWST r w s m a Source #

Monoid w => MonadRerunnableTrans (RWST r w s) Source # 
Instance details

Defined in Control.Monad.Trans.Rerunnable

Methods

rerunnableLift :: Monad m => m a -> RWST r w s m a Source #