Reorganisation of the source tree
[ghc-hetmet.git] / compiler / ilxGen / tests / test10.hs
1
2 data N = Z | S N
3
4 choose1 n1 = 
5   case n1 of 
6        Z -> "even\n"
7        S Z -> "odd\n"
8        S (S m) -> choose1 m 
9 choose2 n1 n2 = 
10   case n1 of 
11        Z -> choose1 n2
12        S Z -> "odd\n"
13        S (S m) -> choose2 m n2
14 choose3 n1 n2 n3 = 
15   case n1 of 
16        Z -> choose2 n2 n3
17        S Z -> "odd\n"
18        S (S m) -> choose3 m n2 n3
19
20 choose4 n1 n2 n3 n4  = 
21   case n1 of 
22        Z -> choose3 n2 n3 n4
23        S Z -> "odd\n"
24        S (S m) -> choose4 m n2 n3 n4 
25
26 choose5 n1 n2 n3 n4 n5 = 
27   case n1 of 
28        Z -> choose4 n2 n3 n4 n5
29        S Z -> "odd\n"
30        S (S m) -> choose5 m n2 n3 n4 n5
31
32 add n m = 
33    case n of
34        Z -> m  
35        S nn -> S (add nn m)
36
37 n1 = S Z
38 n2 = add n1 n1
39 n4 = add n2 n2
40 n6 = add n2 n4
41
42
43
44 main = putStr (choose5 n6 n4 n2 n2 n1)
45