ghc-exactprint-0.3: tests/examples/NestedDoLambda.hs
{-# LANGUAGE Arrows #-}
operator = describe "Operators on ProcessA"$
do
describe "feedback" $
do
it "acts like local variable with hold." $
do
let
pa = proc evx ->
do
(\evy -> hold 10 -< evy)
`feedback` \y ->
do
returnA -< ((+y) <$> evx, (y+1) <$ evx)
run pa [1, 2, 3] `shouldBe` [11, 13, 15]
it "correctly handles stream end." $
do
let
pa = proc x ->
(\asx -> returnA -< asx)
`feedback`
(\asy -> returnA -< (asy::Event Int, x))
comp = mkProc (PgPush PgStop) >>> pa
stateProc comp [0, 0] `shouldBe` ([], [0])
it "correctly handles stream end.(2)" $
do
pendingWith "now many utilities behave incorrectly at the end of stream."