on master help sign in
Update the test for let- and bind-alternatives
commitb17c6342fed1de9ea952d74bf1fe5d6cb3f467b3 authorMelvar Chen <Melvar.Chen@gmail.com> dateFri 22 Dec 2017, 07:19 (9 years ago) parentb3ee2df
3 files changed+14−1
test/sugar004/expected+1 test/sugar004/run+1 test/sugar004/sugar004.idr+12−1
test/sugar004/expected+1
@@ -1,3 +1,4 @@
11No arguments!
2+Not an integer!
2342
34Too many arguments!
test/sugar004/run+1
@@ -1,6 +1,7 @@
11#!/usr/bin/env bash
22${IDRIS:-idris} $@ sugar004.idr -o sugar004
33./sugar004
4+./sugar004 foo
45./sugar004 42
56./sugar004 42 100
67rm -f sugar004 *.ibc
test/sugar004/sugar004.idr+12−1
@@ -1,5 +1,6 @@
11module Main
22
3+import Data.String
34import System
45
56total
@@ -9,7 +10,8 @@ foo x = let Just x' = x | Nothing => 100 in x'
910main : IO ()
1011main = do [p, a] <- getArgs | [p] => putStrLn "No arguments!"
1112 | (x :: y :: _) => putStrLn "Too many arguments!"
12− printLn (foo (Just (cast a)))
13+ let Just a' = parseInteger {a = Int} a | Nothing => putStrLn "Not an integer!"
14+ printLn (foo (Just a'))
1315
1416{-
1517
@@ -31,6 +33,15 @@ do x <- val
3133 pat => p
3234 <alternatives>
3335
36+do let pat = val | <alternatives>
37+ p
38+
39+...becomes...
40+
41+do case val of
42+ pat => p
43+ <alternatives>
44+
3445-}
3546
3647