-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Strict variants of mutable data types from base. -- -- Strict (WHNF) variants of Chan, IORef and -- MVar for proactive prevention of space leaks. @package strict-mutable-base @version 1.1.0.0 -- | For full documentation please refer to Control.Concurrent.Chan. module Control.Concurrent.Chan.Strict -- | A strict (WHNF) variant of Chan. data Chan' a -- | newChan for Chan'. newChan' :: IO (Chan' a) -- | writeChan for Chan'. -- -- Evaluates the value to WHNF. writeChan' :: Chan' a -> a -> IO () -- | readChan for Chan'. readChan' :: Chan' a -> IO a -- | dupChan for Chan'. dupChan' :: Chan' a -> IO (Chan' a) -- | getChanContents for Chan'. getChan'Contents :: Chan' a -> IO [a] -- | writeList2Chan for Chan'. -- -- Evaluates the values to WHNF. writeList2Chan' :: Chan' a -> [a] -> IO () instance GHC.Classes.Eq (Control.Concurrent.Chan.Strict.Chan' a) -- | For full documentation please refer to Control.Concurrent.MVar. module Control.Concurrent.MVar.Strict -- | Strict (WHNF) version of MVar. data MVar' a -- | newEmptyMVar for an MVar'. newEmptyMVar' :: IO (MVar' a) -- | newMVar for an MVar'. -- -- Evaluates the initial value to WHNF. newMVar' :: a -> IO (MVar' a) -- | takeMVar for an MVar'. takeMVar' :: MVar' a -> IO a -- | putMVar for an MVar'. -- -- Evaluates the new value to WHNF. putMVar' :: MVar' a -> a -> IO () -- | readMVar for an MVar'. readMVar' :: MVar' a -> IO a -- | swapMVar for an MVar'. -- -- Evaluates the new value to WHNF. swapMVar' :: MVar' a -> a -> IO a -- | tryTakeMVar for an MVar'. tryTakeMVar' :: MVar' a -> IO (Maybe a) -- | tryPutMVar for an MVar'. -- -- Evaluates the new value to WHNF. tryPutMVar' :: MVar' a -> a -> IO Bool -- | tryReadMVar for an MVar'. tryReadMVar' :: MVar' a -> IO (Maybe a) -- | isEmptyMVar for an MVar'. isEmptyMVar' :: MVar' a -> IO Bool -- | withMVar for an MVar'. withMVar' :: MVar' a -> (a -> IO b) -> IO b -- | withMVarMasked for an MVar'. withMVar'Masked :: MVar' a -> (a -> IO b) -> IO b -- | modifyMVar_ for an MVar'. -- -- Evaluates the new value to WHNF. modifyMVar'_ :: MVar' a -> (a -> IO a) -> IO () -- | modifyMVar for an MVar'. -- -- Evaluates the new value to WHNF. modifyMVar' :: MVar' a -> (a -> IO (a, b)) -> IO b -- | modifyMVarMasked_ for an MVar'. -- -- Evaluates the new value to WHNF. modifyMVar'Masked_ :: MVar' a -> (a -> IO a) -> IO () -- | modifyMVarMasked for an MVar'. -- -- Evaluates the new value to WHNF. modifyMVar'Masked :: MVar' a -> (a -> IO (a, b)) -> IO b -- | mkWeakMVar for an MVar'. mkWeakMVar' :: MVar' a -> IO () -> IO (Weak (MVar' a)) instance Control.DeepSeq.NFData1 Control.Concurrent.MVar.Strict.MVar' instance Control.DeepSeq.NFData (Control.Concurrent.MVar.Strict.MVar' a) instance GHC.Classes.Eq (Control.Concurrent.MVar.Strict.MVar' a) -- | For full documentation please refer to Data.IORef. module Data.IORef.Strict -- | A strict (WHNF) variant of IORef. data IORef' a -- | newIORef for IORef'. -- -- Evaluates the initial value to WHNF. newIORef' :: a -> IO (IORef' a) -- | readIORef for IORef'. readIORef' :: IORef' a -> IO a -- | writeIORef for IORef'. -- -- Evaluates the new value to WHNF. writeIORef' :: IORef' a -> a -> IO () -- | modifyIORef for IORef'. modifyIORef' :: IORef' a -> (a -> a) -> IO () -- | atomicModifyIORef for IORef'. -- -- Evaluates the new value to WHNF. atomicModifyIORef' :: IORef' a -> (a -> (a, b)) -> IO b -- | atomicWriteIORef for IORef'. -- -- Evaluates the new value to WHNF. atomicWriteIORef' :: IORef' a -> a -> IO () -- | mkWeakIORef for IORef'. mkWeakIORef' :: IORef' a -> IO () -> IO (Weak (IORef' a)) instance Control.DeepSeq.NFData1 Data.IORef.Strict.IORef' instance Control.DeepSeq.NFData (Data.IORef.Strict.IORef' a) instance GHC.Classes.Eq (Data.IORef.Strict.IORef' a)