A simple use-case for this library is to run the stages
of a pipelined streaming computation concurrently. If
data is streaming through multiple processing stages, you
might build a machine like
The >~> operator connects the machines on
either side with a one-element buffer. This means that
data is pulled from upstream sources eagerly (perhaps
pulling one more value than will be consumed by
downstream), but it also means that each stage can be
working simultaneously, increasing throughput of the
entire pipeline.
A few small examples are available in the examples
directory of the source repository.