unlift-stm-0.1.0.0: (un)lifted classes and functions for the STM monad
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.STM.Class

Description

A typeclass for monads which can execute STM actions. (This is essentially a copy of Control.Monad.IO.Class, modified for the STM monad.)

Synopsis

Documentation

class Monad m => MonadSTM m where Source #

Analogous to MonadIO. It allows one to use liftSTM when STM is at the "bottom" of the monad transformer stack.

Methods

liftSTM :: STM a -> m a Source #

Instances

Instances details
MonadSTM STM Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> STM a Source #

MonadSTM m => MonadSTM (MaybeT m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> MaybeT m a Source #

MonadSTM m => MonadSTM (ListT m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> ListT m a Source #

(Monoid w, MonadSTM m) => MonadSTM (WriterT w m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> WriterT w m a Source #

(Monoid w, MonadSTM m) => MonadSTM (AccumT w m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> AccumT w m a Source #

(Monoid w, MonadSTM m) => MonadSTM (WriterT w m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> WriterT w m a Source #

(Monoid w, MonadSTM m) => MonadSTM (WriterT w m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> WriterT w m a Source #

MonadSTM m => MonadSTM (StateT s m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> StateT s m a Source #

MonadSTM m => MonadSTM (StateT s m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> StateT s m a Source #

MonadSTM m => MonadSTM (SelectT r m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> SelectT r m a Source #

MonadSTM m => MonadSTM (ReaderT r m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> ReaderT r m a Source #

MonadSTM m => MonadSTM (IdentityT m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> IdentityT m a Source #

MonadSTM m => MonadSTM (ExceptT e m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> ExceptT e m a Source #

(Error e, MonadSTM m) => MonadSTM (ErrorT e m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> ErrorT e m a Source #

MonadSTM m => MonadSTM (ContT r m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> ContT r m a Source #

(Monoid w, MonadSTM m) => MonadSTM (RWST r w s m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> RWST r w s m a Source #

(Monoid w, MonadSTM m) => MonadSTM (RWST r w s m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> RWST r w s m a Source #

(Monoid w, MonadSTM m) => MonadSTM (RWST r w s m) Source # 
Instance details

Defined in Control.Monad.STM.Class

Methods

liftSTM :: STM a -> RWST r w s m a Source #