ghc-exactprint-1.14.3.0: tests/examples/transform/LetFirstGraft.hs.expected
{-# LANGUAGE Arrows #-}
{-# LANGUAGE RecursiveDo #-}
module LetFirstGraft where
import Control.Arrow
f :: Int -> Int -> IO Int
f a b = do
let z = a in return z
return (a
+ b)
g :: Int -> Int -> IO Int
g a b = do
rec let z = a in return z
x <- return (a
+ b)
return x
h :: Arrow k => k (Int, Int) Int
h = proc (a, b) -> do
let c = a in returnA -< c
returnA -< a
+ b