-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | MVars and Channels with distinguished input and output side -- @package concurrent-split @version 0.0.0.1 module Control.Concurrent.Split.Class data In data Out class C chan 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 () module Control.Concurrent.Split.MVar data T dir a type In = T In type Out = T Out newEmpty :: IO (In a, Out a) take :: Out a -> IO a put :: In a -> a -> IO () instance C T module Control.Concurrent.Split.Chan data T dir a type In = T In type Out = T Out new :: IO (In a, Out a) read :: Out a -> IO a write :: In a -> a -> IO () instance C T