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

Safe HaskellSafe
LanguageHaskell98

Control.Concurrent.STM.Split.Class

Documentation

data In #

data Out #

class C chan where #

Minimal complete definition

newIO, new, read, write

Methods

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

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

read :: chan Out a -> STM a #

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

Instances

C T # 

Methods

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

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

read :: T Out a -> STM a #

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

C T # 

Methods

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

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

read :: T Out a -> STM a #

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