ormolu-0.3.0.0: data/examples/declaration/value/function/arrow/proc-forms2-out.hs
{-# LANGUAGE Arrows #-}
bar0 f g h x =
proc (y, z) ->
(| test (h f . (h g) -< (y x) . y z) ((h g) . h f -< y z . (y x)) |)
bar1 f g x y = proc _ -> (f -< x) &&& (g -< y)
bar2 f g h x =
proc (y, z) ->
(h f . (h g) -< (y x) . y z) ||| ((h g) . h f -< y z . (y x))
bar3 f g h x =
proc (y, z) ->
( (h f . h g)
-<
(y x) . y z
)
||| ( (h g . h f)
-<
y z . (y x)
)
bar4 = proc x ->
case x of
Just f -> f -< ()
Nothing -> x -< ()
<+> do
g -< x
expr' = proc x ->
do
returnA -< x
<+> do
symbol Plus -< ()
y <- term -< ()
expr' -< x + y
<+> do
symbol Minus -< ()
y <- term -< ()
expr' -< x - y
bar f = proc (a, b) -> do
(f a -< b)
>-> (\y -> f b >- a)
>-> (\y -> f b >- a)