diff options
Diffstat (limited to 'testsuite/tests/arrows/should_run/arrowrun001.hs')
-rw-r--r-- | testsuite/tests/arrows/should_run/arrowrun001.hs | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/testsuite/tests/arrows/should_run/arrowrun001.hs b/testsuite/tests/arrows/should_run/arrowrun001.hs index c686b32546..90882b59a3 100644 --- a/testsuite/tests/arrows/should_run/arrowrun001.hs +++ b/testsuite/tests/arrows/should_run/arrowrun001.hs @@ -13,21 +13,21 @@ data Exp = Var Id | Add Exp Exp | If Exp Exp Exp | Lam Id Exp | App Exp Exp eval :: (ArrowChoice a, ArrowApply a) => Exp -> a [(Id, Val a)] (Val a) eval (Var s) = proc env -> - returnA -< fromJust (lookup s env) + returnA -< fromJust (lookup s env) eval (Add e1 e2) = proc env -> do - ~(Num u) <- eval e1 -< env - ~(Num v) <- eval e2 -< env - returnA -< Num (u + v) + ~(Num u) <- eval e1 -< env + ~(Num v) <- eval e2 -< env + returnA -< Num (u + v) eval (If e1 e2 e3) = proc env -> do - ~(Bl b) <- eval e1 -< env - if b then eval e2 -< env - else eval e3 -< env + ~(Bl b) <- eval e1 -< env + if b then eval e2 -< env + else eval e3 -< env eval (Lam x e) = proc env -> - returnA -< Fun (proc v -> eval e -< (x,v):env) + returnA -< Fun (proc v -> eval e -< (x,v):env) eval (App e1 e2) = proc env -> do - ~(Fun f) <- eval e1 -< env - v <- eval e2 -< env - f -<< v + ~(Fun f) <- eval e1 -< env + v <- eval e2 -< env + f -<< v -- some tests @@ -38,11 +38,11 @@ double = Lam "x" (Add (Var "x") (Var "x")) -- if b then k (double x) x else x + x + x text_exp = If (Var "b") - (App (App k (App double (Var "x"))) (Var "x")) - (Add (Var "x") (Add (Var "x") (Var "x"))) + (App (App k (App double (Var "x"))) (Var "x")) + (Add (Var "x") (Add (Var "x") (Var "x"))) unNum (Num n) = n main = do - print (unNum (eval text_exp [("b", Bl True), ("x", Num 5)])) - print (unNum (eval text_exp [("b", Bl False), ("x", Num 5)])) + print (unNum (eval text_exp [("b", Bl True), ("x", Num 5)])) + print (unNum (eval text_exp [("b", Bl False), ("x", Num 5)])) |