Import Debian changes 20180207-1
[hcoop/debian/mlton.git] / benchmark / tests / even-odd.sml
1 local
2 fun even' 0 = true
3 | even' i = odd' (i-1)
4 and odd' 0 = false
5 | odd' i = even' (i-1)
6 in
7 fun even i = even' (abs i)
8 fun odd i = odd' (abs i)
9 end
10
11 structure Main =
12 struct
13 fun doit n =
14 if n = 0
15 then ()
16 else let
17 val _ = if (even 500000000) <> not (odd 500000000)
18 then raise Fail "bug"
19 else ()
20 in
21 doit (n - 1)
22 end
23 end