| Copyright | (C) 2012 Edward Kmett Rúnar Bjarnason Paul Chiusano | 
|---|---|
| License | BSD-style (see the file LICENSE) | 
| Maintainer | Edward Kmett <ekmett@gmail.com> | 
| Stability | provisional | 
| Portability | Rank-2 Types, GADTs | 
| Safe Haskell | Safe-Inferred | 
| Language | Haskell2010 | 
Data.Machine.Wye
Contents
Description
Synopsis
- type Wye a b c = Machine (Y a b) c
 - type WyeT m a b c = MachineT m (Y a b) c
 - data Y a b c where
 - wye :: Monad m => ProcessT m a a' -> ProcessT m b b' -> WyeT m a' b' c -> WyeT m a b c
 - addX :: Monad m => ProcessT m a b -> WyeT m b c d -> WyeT m a c d
 - addY :: Monad m => ProcessT m b c -> WyeT m a c d -> WyeT m a b d
 - capX :: Monad m => SourceT m a -> WyeT m a b c -> ProcessT m b c
 - capY :: Monad m => SourceT m b -> WyeT m a b c -> ProcessT m a c
 - capWye :: Monad m => SourceT m a -> SourceT m b -> WyeT m a b c -> SourceT m c
 
Wyes
type Wye a b c = Machine (Y a b) c Source #
A Machine that can read from two input stream in a non-deterministic manner.
type WyeT m a b c = MachineT m (Y a b) c Source #
A Machine that can read from two input stream in a non-deterministic manner with monadic side-effects.
addX :: Monad m => ProcessT m a b -> WyeT m b c d -> WyeT m a c d Source #
Precompose a pipe onto the left input of a wye.
addY :: Monad m => ProcessT m b c -> WyeT m a c d -> WyeT m a b d Source #
Precompose a pipe onto the right input of a wye.
capX :: Monad m => SourceT m a -> WyeT m a b c -> ProcessT m b c Source #
Tie off one input of a wye by connecting it to a known source.