stm-io-hooks-1.1.1

Copyright(c) HaskellWiki 2006-2007 Peter Robinson 2008
LicenseBSD3
MaintainerPeter Robinson <robinson@ecs.tuwien.ac.at>
Stabilityexperimental
Portabilitynon-portable (requires STM)
Safe HaskellNone
LanguageHaskell2010

Control.Monad.AdvSTM.Def

Description

This is an internal module.

Synopsis

Documentation

newtype AdvSTM a Source #

Drop-in replacement for the STM monad

Constructors

AdvSTM (ReaderT Env STM a) 
Instances
Monad AdvSTM Source # 
Instance details

Defined in Control.Monad.AdvSTM.Def

Methods

(>>=) :: AdvSTM a -> (a -> AdvSTM b) -> AdvSTM b #

(>>) :: AdvSTM a -> AdvSTM b -> AdvSTM b #

return :: a -> AdvSTM a #

fail :: String -> AdvSTM a #

Functor AdvSTM Source # 
Instance details

Defined in Control.Monad.AdvSTM.Def

Methods

fmap :: (a -> b) -> AdvSTM a -> AdvSTM b #

(<$) :: a -> AdvSTM b -> AdvSTM a #

Applicative AdvSTM Source # 
Instance details

Defined in Control.Monad.AdvSTM.Def

Methods

pure :: a -> AdvSTM a #

(<*>) :: AdvSTM (a -> b) -> AdvSTM a -> AdvSTM b #

liftA2 :: (a -> b -> c) -> AdvSTM a -> AdvSTM b -> AdvSTM c #

(*>) :: AdvSTM a -> AdvSTM b -> AdvSTM b #

(<*) :: AdvSTM a -> AdvSTM b -> AdvSTM a #

Alternative AdvSTM Source # 
Instance details

Defined in Control.Monad.AdvSTM.Def

Methods

empty :: AdvSTM a #

(<|>) :: AdvSTM a -> AdvSTM a -> AdvSTM a #

some :: AdvSTM a -> AdvSTM [a] #

many :: AdvSTM a -> AdvSTM [a] #

MonadPlus AdvSTM Source # 
Instance details

Defined in Control.Monad.AdvSTM.Def

Methods

mzero :: AdvSTM a #

mplus :: AdvSTM a -> AdvSTM a -> AdvSTM a #

MonadAdvSTM AdvSTM Source # 
Instance details

Defined in Control.Concurrent.AdvSTM

data Env Source #

The environment used for the Reader Monad

Constructors

Env 

data TVarValue Source #

Constructors

TVarValue (TVar a, a)