Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- zreChan :: forall input output inputGroup outputGroup. (Serialize input, Serialize output, KnownGroup inputGroup, KnownGroup outputGroup) => IO (TChan input, TChan output)
- zreChan' :: (Serialize input, Serialize output) => Group -> Group -> IO (TChan input, TChan output)
- zreChanWith :: (Serialize input, Serialize output) => (ZRE () -> IO ()) -> Group -> Group -> IO (TChan input, TChan output)
- mapToGroup :: forall fromGroup toGroup from to. (Serialize from, Show from, Serialize to, KnownGroup fromGroup, KnownGroup toGroup) => (from -> to) -> ZRE ()
- mapToGroup' :: (Show from, Serialize from, Serialize to) => Group -> Group -> (from -> to) -> ZRE ()
Documentation
zreChan :: forall input output inputGroup outputGroup. (Serialize input, Serialize output, KnownGroup inputGroup, KnownGroup outputGroup) => IO (TChan input, TChan output) Source #
Typed ZRE channel using two groups
input -> outputGroup
for transfering encoded datainputGroup -> output
for receiving decoded data
Unexpected data on channel will result in error.
zreChan' :: (Serialize input, Serialize output) => Group -> Group -> IO (TChan input, TChan output) Source #
Like zreChan
but with non-symbolic groups
zreChanWith :: (Serialize input, Serialize output) => (ZRE () -> IO ()) -> Group -> Group -> IO (TChan input, TChan output) Source #
Principled version accepting runner function
:: forall fromGroup toGroup from to. (Serialize from, Show from, Serialize to, KnownGroup fromGroup, KnownGroup toGroup) | |
=> (from -> to) | Conversion function |
-> ZRE () |
Map function to deserialized data type received from one group and send it encoded to another group. Basically a typed proxy between two groups.