arrowp-qq-0.2.1: examples/GHC.hs
{-# LANGUAGE Arrows #-}
module GHC where
import Control.Arrow
ghc,trivial :: Arrow a => a inp chunk -> a chunk out -> a inp out
trivial chunk process = proc inputs -> do
chunked <- chunk -< inputs
results <- process -< chunked
returnA -< results
ghc chunk process =
arr(\inputs -> (inputs,inputs)) >>> first chunk >>> first process >>> arr fst