[project @ 1997-09-05 14:11:05 by simonm]
[ghc-hetmet.git] / ghc / tests / stranal / should_compile / ins.stderr
1
2
3 ================================================================================
4 Simplified:
5 `$d5'  ::  `{PrelBase.Eval (Pair a b)}'
6 `$d5' =
7     _/\_ `$x0' `$x1' -> `PrelBase.void'
8 `$d4'  ::  `{PrelBase.Eval (LList alpha)}'
9 `$d4' =
10     _/\_ `$x0' -> `PrelBase.void'
11 `$d2'  ::  `{PrelBase.Eval (Tree x)}'
12 `$d2' =
13     _/\_ `$x0' -> `PrelBase.void'
14 `$d1'  ::  `{PrelBase.Eval (A a)}'
15 `$d1' =
16     _/\_ `$x0' -> `PrelBase.void'
17 `MkA'  ::  `a -> A a -> A a'
18 `MkA' =
19     _/\_ `$x0' -> \ `$x1'  ::  `$x0'
20                     `$x1' `$x2'  ::  `A $x0'
21                           `$x2' ->
22         `MkA' {_@_ `$x0' `$x1' `$x2'}
23 `MkPair'  ::  `a -> b -> Pair a b'
24 `MkPair' =
25     _/\_ `$x0' `$x1' -> \ `$x2'  ::  `$x0'
26                           `$x2' `$x3'  ::  `$x1'
27                                 `$x3' ->
28         `MkPair' {_@_ `$x0' _@_ `$x1' `$x2' `$x3'}
29 `Leaf'  ::  `x -> Tree x'
30 `Leaf' =
31     _/\_ `$x0' -> \ `$x1'  ::  `$x0'
32                     `$x1' ->
33         `Leaf' {_@_ `$x0' `$x1'}
34 `Node'  ::  `Tree x -> Tree x -> Tree x'
35 `Node' =
36     _/\_ `$x0' -> \ `$x1'  ::  `Tree $x0'
37                     `$x1' `$x2'  ::  `Tree $x0'
38                           `$x2' ->
39         `Node' {_@_ `$x0' `$x1' `$x2'}
40 `Zero'  ::  `Nat'
41 `Zero' =
42     `Zero' {}
43 `Succ'  ::  `Nat -> Nat'
44 `Succ' =
45     \ `$x0'  ::  `Nat'
46       `$x0' ->
47         `Succ' {`$x0'}
48 `Nill'  ::  `LList alpha'
49 `Nill' =
50     _/\_ `$x0' -> `Nill' {_@_ `$x0'}
51 `Conss'  ::  `alpha -> LList alpha -> LList alpha'
52 `Conss' =
53     _/\_ `$x0' -> \ `$x1'  ::  `$x0'
54                     `$x1' `$x2'  ::  `LList $x0'
55                           `$x2' ->
56         `Conss' {_@_ `$x0' `$x1' `$x2'}
57 Rec {
58 `append'  ::  `LList taCl -> LList taCl -> LList taCl'
59 `append' =
60     _/\_ `$x0' -> \ `$x1'  ::  `LList $x0'
61                     `$x1' `$x2'  ::  `LList $x0'
62                           `$x2' ->
63         case `$x1' of {
64           `Nill' -> `$x2';
65           `Conss' `$x3' `$x4' ->
66               let {
67                 `$x5'  ::  `LList $x0'
68                 `$x5' =
69                     `append' _@_ `$x0' `$x4' `$x2'
70               } in  `Conss' {_@_ `$x0' `$x3' `$x5'};
71         }
72 end Rec }
73 Rec {
74 `flat'  ::  `Tree (Pair taCO taCP) -> LList taCO'
75 `flat' =
76     _/\_ `$x0' `$x1' -> \ `$x2'  ::  `Tree (Pair $x1 $x0)'
77                           `$x2' ->
78         case `$x2' of {
79           `Leaf' `$x3' ->
80               case `$x3' of { `MkPair' `$x4' `$x5'  ->
81               let {
82                 `$x6'  ::  `LList $x1'
83                 `$x6' =
84                     `Nill' {_@_ `$x1'}
85               } in  `Conss' {_@_ `$x1' `$x4' `$x6'};};
86           `Node' `$x7' `$x8' ->
87               let {
88                 `$x9'  ::  `LList $x1'
89                 `$x9' =
90                     `flat' _@_ `$x0' _@_ `$x1' `$x8'
91               } in 
92                 case `flat' _@_ `$x0' _@_ `$x1' `$x7' of { `$xa' ->
93                 `append' _@_ `$x1' `$xa' `$x9';};
94         }
95 end Rec }
96 `FF'  ::  `Boolean'
97 `FF' =
98     `FF' {}
99 `TT'  ::  `Boolean'
100 `TT' =
101     `TT' {}
102 `$d6'  ::  `{PrelBase.Eval Boolean}'
103 `$d6' =
104     `PrelBase.void'
105 `$d3'  ::  `{PrelBase.Eval Nat}'
106 `$d3' =
107     `PrelBase.void'
108 `$g0'  ::  `Pair Boolean Nat'
109 `$g0' =
110     `MkPair' {_@_ `Boolean' _@_ `Nat' `TT' `Zero'}
111 `$g1'  ::  `Tree (Pair Boolean Nat)'
112 `$g1' =
113     `Leaf' {_@_ (`Pair' `Boolean' `Nat') `$g0'}
114 `$g2'  ::  `LList Boolean'
115 `$g2' =
116     `flat' _@_ `Nat' _@_ `Boolean' `$g1'
117 `fl'  ::  `Boolean -> LList Boolean'
118 `fl' =
119     \ `$x0'  ::  `Boolean'
120       `$x0' ->
121         `$g2'