lio-0.11.6.0: Labeled IO Information Flow Control Library

Safe HaskellSafe
LanguageHaskell98

LIO.LIORef.Trans

Description

MonadLIO generalizations for LIO.LIORef.

Synopsis

Documentation

newLIORef Source #

Arguments

:: (MonadLIO l m, Label l) 
=> l

Label of reference

-> a

Initial value

-> m (LIORef l a)

Mutable reference

newLIORefP :: (MonadLIO l m, PrivDesc l p) => Priv p -> l -> a -> m (LIORef l a) Source #

readLIORef :: (MonadLIO l m, Label l) => LIORef l a -> m a Source #

readLIORefP :: (MonadLIO l m, PrivDesc l p) => Priv p -> LIORef l a -> m a Source #

writeLIORef :: (MonadLIO l m, Label l) => LIORef l a -> a -> m () Source #

writeLIORefP :: (MonadLIO l m, PrivDesc l p) => Priv p -> LIORef l a -> a -> m () Source #

modifyLIORef Source #

Arguments

:: (MonadLIO l m, Label l) 
=> LIORef l a

Labeled reference

-> (a -> a)

Modifier

-> m () 

modifyLIORefP :: (MonadLIO l m, PrivDesc l p) => Priv p -> LIORef l a -> (a -> a) -> m () Source #

atomicModifyLIORef :: (MonadLIO l m, Label l) => LIORef l a -> (a -> (a, b)) -> m b Source #

atomicModifyLIORefP :: (MonadLIO l m, PrivDesc l p) => Priv p -> LIORef l a -> (a -> (a, b)) -> m b Source #