-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Concurrent Haskell in ST -- -- Concurrent Haskell in ST @package concurrent-st @version 0.1 -- | This module provides a way to use concurrent haskell inside of -- ST. Using these function subverts the usual guarentee we have -- that ST is deterministic. module Control.Concurrent.ST data ThreadId s ThreadId :: ThreadId# -> ThreadId s -- | Creates a new thread to run the ST computation passed as the -- argument. Since using the ThreadId often leads to -- non-determinism, the function forkST_ is typically to be -- preferred. forkST :: ST s () -> ST s (ThreadId s) -- | Creates a new thread to run the ST computation and discard the -- ThreadId. forkST_ :: ST s () -> ST s () data MVar s a newEmptyMVar :: ST s (MVar s a) newMVar :: a -> ST s (MVar s a) takeMVar :: MVar s a -> ST s a putMVar :: MVar s a -> a -> ST s () readMVar :: MVar s a -> ST s a tryTakeMVar :: MVar s a -> ST s (Maybe a) tryPutMVar :: MVar s a -> a -> ST s Bool isEmptyMVar :: MVar s a -> ST s Bool tryReadMVar :: MVar s a -> ST s (Maybe a) instance GHC.Classes.Eq (Control.Concurrent.ST.MVar s a)