Copyright | (c) Jeff Shaw 2012 |
---|---|
License | BSD, see the file LICENSE |
Maintainer | [email protected] |
Stability | experimental |
Portability | non-portable (concurrency) |
Safe Haskell | Safe |
Language | Haskell2010 |
Control.Concurrent.Privileged
Description
Privilege separated concurrency abstractions.
- module Control.Concurrent.Chan.Class
- module Control.Concurrent.Chan.ReadOnly
- module Control.Concurrent.Chan.WriteOnly
- module Control.Concurrent.MVar.Class
- module Control.Concurrent.MVar.ReadOnly
- module Control.Concurrent.MVar.WriteOnly
- module Control.Concurrent.STM.TVar.ReadOnly
- module Control.Concurrent.STM.TVar.WriteOnly
- module Control.Concurrent.STM.TMVar.ReadOnly
- module Control.Concurrent.STM.TMVar.WriteOnly
- module Control.Concurrent.STM.TChan.ReadOnly
- module Control.Concurrent.STM.TChan.WriteOnly
- module Control.Monad.IO.Class
- data Chan a :: * -> *
- newChan :: MonadIO m => m (Chan a)
- modifyMVar :: MonadUnliftIO m => MVar a -> (a -> m (a, b)) -> m b
- modifyMVar_ :: MonadUnliftIO m => MVar a -> (a -> m a) -> m ()
- data MVar a :: * -> *
- newEmptyMVar :: MonadIO m => m (MVar a)
- newMVar :: MonadIO m => a -> m (MVar a)
- newTChan :: STM (TChan a)
- data TChan a :: * -> *
- newEmptyTMVar :: STM (TMVar a)
- newTMVar :: a -> STM (TMVar a)
- data TMVar a :: * -> *
- newTVar :: a -> STM (TVar a)
- data TVar a :: * -> *
Privilege Separated Concurrent Haskell
Re-exports
module Control.Monad.IO.Class
Chan
is an abstract type representing an unbounded FIFO channel.
modifyMVar :: MonadUnliftIO m => MVar a -> (a -> m (a, b)) -> m b #
Unlifted modifyMVar
.
Since: 0.1.0.0
modifyMVar_ :: MonadUnliftIO m => MVar a -> (a -> m a) -> m () #
Unlifted modifyMVar_
.
Since: 0.1.0.0
An MVar
(pronounced "em-var") is a synchronising variable, used
for communication between concurrent threads. It can be thought of
as a a box, which may be empty or full.
newEmptyMVar :: MonadIO m => m (MVar a) #
Lifted newEmptyMVar
.
Since: 0.1.0.0
TChan
is an abstract type representing an unbounded FIFO channel.
newEmptyTMVar :: STM (TMVar a) #
Create a TMVar
which is initially empty.
A TMVar
is a synchronising variable, used
for communication between concurrent threads. It can be thought of
as a box, which may be empty or full.