arrowp-qq-0.2.1.1: examples/Static.hs
{-# OPTIONS -F -pgmF arrowp-ext #-}
module Static where
import Control.Arrow
ifEx :: Arrow a => Bool -> a v v -> a v () -> a v v
ifEx outputResultsArg processor outputSink = proc inputs -> do
results <- processor -< inputs
if outputResultsArg
then outputSink -< results
else returnA -< ()
processor -< results
ifEx' :: Arrow a => Bool -> a v v -> a v v -> a v v
ifEx' outputResultsArg processor outputSink = proc inputs -> do
results <- processor -< inputs
results <- if outputResultsArg
then outputSink -< results
else returnA -< results
processor -< results
caseEx :: Arrow a => Bool -> a v v -> a v () -> a v v
caseEx outputResultsArg processor outputSink = proc inputs -> do
results <- processor -< inputs
case outputResultsArg of
True -> outputSink -< results
False -> returnA -< ()
processor -< results
caseEx' :: Arrow a => Bool -> a v v -> a v v -> a v v
caseEx' outputResultsArg processor outputSink = proc inputs -> do
results <- processor -< inputs
results <- case outputResultsArg of
True -> outputSink -< results
False -> returnA -< results
processor -< results