concurrent-split-0.0.1: MVars and Channels with distinguished input and output side

Safe HaskellSafe
LanguageHaskell98

Control.Concurrent.Split.Class

Documentation

data In #

data Out #

class C chan where #

Minimal complete definition

new, read, write

Methods

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

read :: chan Out a -> IO a #

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

Instances

C T # 

Methods

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

read :: T Out a -> IO a #

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

C T # 

Methods

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

read :: T Out a -> IO a #

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

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

read :: C chan => chan Out a -> IO a #

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