A prototype quasiquoter for arrow notation packaged by Jose Iborra, based on the arrowp preprocessor developed by Ross Paterson . Note that recent versions of GHC support this notation directly, and give better error messages to boot. But the translation produced by GHC is in some cases not as good as it could be. RUNNING THE ARROW QUASI QUOTER addA :: Arrow a => a b Int -> a b Int -> a b Int addA f g = [proc| x -> do y <- f -< x z <- g -< x returnA -< y + z |]