Hi all,
In this excerpt from the Automaton page:
runAutomaton :: (ArrowLoopC a, ArrowApply a) => Automaton a (e, b) c -> a (e, Stream b) (Stream c)Source
Encapsulating an automaton by running it on a stream of inputs, obtaining a stream of outputs.
Typical usage in arrow notation:
proc p -> do ... ys <- (|runAutomaton (\x -> ...)|) xs
Here xs
refers to the input stream and x
to individual
elements of that stream. ys
is bound to the output stream.