stm-split-0.0.0.2: TMVars, TVars and TChans with distinguished input and output side

Safe HaskellSafe
LanguageHaskell98

Control.Concurrent.STM.Split.Class

Documentation

data In Source #

data Out Source #

class C chan where Source #

Minimal complete definition

newIO, new, read, write

Methods

newIO :: IO (chan In a, chan Out a) Source #

new :: STM (chan In a, chan Out a) Source #

read :: chan Out a -> STM a Source #

write :: chan In a -> a -> STM () Source #

Instances

C T Source # 

Methods

newIO :: IO (T In a, T Out a) Source #

new :: STM (T In a, T Out a) Source #

read :: T Out a -> STM a Source #

write :: T In a -> a -> STM () Source #

C T Source # 

Methods

newIO :: IO (T In a, T Out a) Source #

new :: STM (T In a, T Out a) Source #

read :: T Out a -> STM a Source #

write :: T In a -> a -> STM () Source #

newIO :: C chan => IO (chan In a, chan Out a) Source #

new :: C chan => STM (chan In a, chan Out a) Source #

read :: C chan => chan Out a -> STM a Source #

write :: C chan => chan In a -> a -> STM () Source #