twilight-stm-1.0: Twilight STM library

STM

Documentation

data STM r p q a Source

Instances

Monadish (STM r) 
Monad (STM r p q) 

data TVar a Source

Instances

Show (TVar a) 

newTVar :: a -> STM r p p (TVar a)Source

newTVarIO :: a -> IO (TVar a)Source

readTVar :: Show a => TVar a -> Region r a -> STM r Atomic Atomic (a, RTwiVar a)Source

writeTVar :: Show a => TVar a -> a -> STM r Atomic Atomic (WTwiVar a)Source

atomically :: (forall s. STM s p q a) -> IO aSource

retry :: STM r p q aSource

data Twi Source

gbind :: Monadish m => forall p q a r b. m p q a -> (a -> m q r b) -> m p r b

gret :: Monadish m => forall a p. a -> m p p a

getInconsistencies :: Region r a -> STM r Safe Safe [(RTwiVar a, Maybe (WTwiVar a))]Source

isInconsistent :: Region r a -> STM r p p BoolSource

rewriteTVar :: Show a => WTwiVar a -> a -> STM r p p ()Source

rereadTVar :: RTwiVar a -> STM r p p aSource

unsafeTwiIO :: IO a -> STM r p p aSource

newRegion :: STM r Atomic Atomic (Region r a)Source