[project @ 1997-09-04 12:54:24 by simonm]
[ghc-hetmet.git] / ghc / tests / deriving / should_compile / drv004.stderr
1
2
3 ================================================================================
4 Typechecked:
5 C1{-r4,x-}{i} =
6     _/\_ a_tr3j b_tr3k c_tr3l -> \ tpl_B1 tpl_B2 ->
7         C1{-r4,x-}{i} {_@_ a_tr3j _@_ b_tr3k _@_ c_tr3l tpl_B1 tpl_B2}
8 C2{-r3,x-}{i} =
9     _/\_ a_tr3j b_tr3k c_tr3l -> \ tpl_B1 tpl_B2 ->
10         C2{-r3,x-}{i} {_@_ a_tr3j _@_ b_tr3k _@_ c_tr3l tpl_B1 tpl_B2}
11 C3{-r6,x-}{i} =
12     _/\_ a_tr3j b_tr3k c_tr3l -> \ tpl_B1 tpl_B2 ->
13         C3{-r6,x-}{i} {_@_ a_tr3j _@_ b_tr3k _@_ c_tr3l tpl_B1 tpl_B2}
14 AbsBinds
15 [taEz, taEB, taEC]
16 []
17 [([taEz, taEB, taEC], con2tag_Foo#_rBK, con2tag_Foo#_aE7)]
18     con2tag_Foo#_aE7 (C1{-r4,x-}{i} _ _) = 0#
19     con2tag_Foo#_aE7 (C2{-r3,x-}{i} _ _) = 1#
20     con2tag_Foo#_aE7 (C3{-r6,x-}{i} _ _) = 2#
21 AbsBinds
22 [taEU, taEX, taF0]
23 [d.Eq_aGk, d.Eq_aGl, d.Eq_aGm]
24 [([taEU, taEX, taF0], $d1{-rLl,x-}, d.Eq_aEK)]
25     d.Eq_aGq = d.Eq_aGk
26     ==_aLu = PrelBase.=={-8Y,p-} taEU d.Eq_aGq
27     d.Eq_aGu = d.Eq_aGl
28     ==_aLv = PrelBase.=={-8Y,p-} taEX d.Eq_aGu
29     d.Eq_aGy = d.Eq_aGm
30     ==_aLw = PrelBase.=={-8Y,p-} taF0 d.Eq_aGy
31     ==_aLx = ==_aLy
32     AbsBinds [] [] [([], ==_aLy, ==_aEO)]
33         ==_aEO (C1{-r4,x-}{i} a1_rBS a2_rBT) (C1{-r4,x-}{i} b1_rBU b2_rBV)
34                = (a1_rBS ==_aLu b1_rBU)
35                  PrelBase.&&{-rfc,p-} (a2_rBT ==_aLo b2_rBV)
36         ==_aEO (C2{-r3,x-}{i} a1_rBX a2_rBY) (C2{-r3,x-}{i} b1_rBZ b2_rC0)
37                = (a1_rBX ==_aLv b1_rBZ)
38                  PrelBase.&&{-rfc,p-} (a2_rBY ==_aLp b2_rC0)
39         ==_aEO (C3{-r6,x-}{i} a1_rC2 a2_rC3) (C3{-r6,x-}{i} b1_rC4 b2_rC5)
40                = (a1_rC2 ==_aLw b1_rC4)
41                  PrelBase.&&{-rfc,p-} (a2_rC3 ==_aLq b2_rC5)
42         ==_aEO a_rC7 b_rC8 = PrelBase.False{-58,w-}{i}
43     AbsBinds [] [] [([], /=_aLz, /=_aGd)]
44         /=_aGd a_rCc b_rCd = PrelBase.not{-rga,p-} ==_aLx a_rCc b_rCd
45     d.Eq_aEK = ({-dict-} [] [==_aLy, /=_aLz])
46 AbsBinds
47 [taLi, taLj, taLk]
48 []
49 [([taLi, taLj, taLk], $d2{-rLm,x-}, d.Eval_aGL)]
50     d.Eval_aGL = ({-dict-} [] [])
51 AbsBinds
52 [taH0, taH1, taH2]
53 [d.Ord_aKA, d.Ord_aKB, d.Ord_aKC, d.Eq_aKD]
54 [([taH0, taH1, taH2], $d3{-rLn,x-}, d.Ord_aGT)]
55     d.Eq_aKz = d.Eq_aKD
56     d.Ord_aJb = d.Ord_aKA
57     d.Ord_aJc = d.Ord_aKB
58     d.Ord_aJd = d.Ord_aKC
59     compare_aLA = compare_aLG
60     compare_aLB = compare_aLG
61     compare_aLC = compare_aLG
62     compare_aLD = compare_aLG
63     compare_aLE = compare_aLG
64     compare_aLF = compare_aLG
65     AbsBinds [] [] [([], compare_aLG, compare_aGX)]
66         compare_aGX a_rD5 b_rD6
67                     = case con2tag_Foo#_rBK [taH2, taH0, taH1] a_rD5 of
68                         a#_rDI
69                         -> case con2tag_Foo#_rBK [taH2, taH0, taH1] b_rD6 of
70                              b#_rDK
71                              -> if a#_rDI GHC.==#{-79,w-}{I} b#_rDK then
72                                     case cmp_eq_aLN a_rD5 b_rD6 of
73                                       PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
74                                       PrelBase.EQ{-r3m,p-}{i} -> PrelBase.EQ{-r3m,p-}{i}
75                                       PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
76                                 else
77                                     if a#_rDI GHC.<#{-7b,w-}{I} b#_rDK then
78                                         PrelBase.LT{-r9P,p-}{i}
79                                     else
80                                         PrelBase.GT{-r9Q,p-}{i}
81                     where
82                         {- nonrec -}
83                         AbsBinds
84                         [taIi, taIj, taIm]
85                         [d.Ord_aIx, d.Ord_aIB, d.Ord_aIF]
86                         [([taIi, taIj, taIm], cmp_eq_rD8, cmp_eq_aH6)]
87                             compare_aLO = PrelBase.compare{-rfr,p-} taIi d.Ord_aIx
88                             compare_aLP = PrelBase.compare{-rfr,p-} taIj d.Ord_aIB
89                             compare_aLQ = PrelBase.compare{-rfr,p-} taIm d.Ord_aIF
90                             cmp_eq_aH6 (C1{-r4,x-}{i} a1_rDa a2_rDb)
91                                        (C1{-r4,x-}{i} b1_rDc b2_rDd)
92                                        = case compare_aLO a1_rDa b1_rDc of
93                                            PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
94                                            PrelBase.EQ{-r3m,p-}{i}
95                                            -> case compare_aLr a2_rDb b2_rDd of
96                                                 PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
97                                                 PrelBase.EQ{-r3m,p-}{i} -> PrelBase.EQ{-r3m,p-}{i}
98                                                 PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
99                                            PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
100                             cmp_eq_aH6 (C2{-r3,x-}{i} a1_rDl a2_rDm)
101                                        (C2{-r3,x-}{i} b1_rDn b2_rDo)
102                                        = case compare_aLP a1_rDl b1_rDn of
103                                            PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
104                                            PrelBase.EQ{-r3m,p-}{i}
105                                            -> case compare_aLs a2_rDm b2_rDo of
106                                                 PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
107                                                 PrelBase.EQ{-r3m,p-}{i} -> PrelBase.EQ{-r3m,p-}{i}
108                                                 PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
109                                            PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
110                             cmp_eq_aH6 (C3{-r6,x-}{i} a1_rDw a2_rDx)
111                                        (C3{-r6,x-}{i} b1_rDy b2_rDz)
112                                        = case compare_aLQ a1_rDw b1_rDy of
113                                            PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
114                                            PrelBase.EQ{-r3m,p-}{i}
115                                            -> case compare_aLt a2_rDx b2_rDz of
116                                                 PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
117                                                 PrelBase.EQ{-r3m,p-}{i} -> PrelBase.EQ{-r3m,p-}{i}
118                                                 PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
119                                            PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
120                             cmp_eq_aH6 _ _
121                                        = IOBase.error{-87,w-}
122                                              PrelBase.Ordering{-3o,p-} "Urk! in TcGenDeriv"
123                         {- nonrec -}
124                         cmp_eq_aLN =
125                             cmp_eq_rD8 [taH0, taH1, taH2] [d.Ord_aJb, d.Ord_aJc, d.Ord_aJd]
126                         {- nonrec -}
127     AbsBinds [] [] [([], <_aLH, <_aJo)]
128         <_aJo a_rCj b_rCk
129               = case compare_aLA a_rCj b_rCk of
130                   PrelBase.LT{-r9P,p-}{i} -> PrelBase.True{-5E,w-}{i}
131                   PrelBase.EQ{-r3m,p-}{i} -> PrelBase.False{-58,w-}{i}
132                   PrelBase.GT{-r9Q,p-}{i} -> PrelBase.False{-58,w-}{i}
133     AbsBinds [] [] [([], <=_aLI, <=_aJB)]
134         <=_aJB a_rCr b_rCs
135                = case compare_aLB a_rCr b_rCs of
136                    PrelBase.LT{-r9P,p-}{i} -> PrelBase.True{-5E,w-}{i}
137                    PrelBase.EQ{-r3m,p-}{i} -> PrelBase.True{-5E,w-}{i}
138                    PrelBase.GT{-r9Q,p-}{i} -> PrelBase.False{-58,w-}{i}
139     AbsBinds [] [] [([], >=_aLJ, >=_aJO)]
140         >=_aJO a_rCz b_rCA
141                = case compare_aLC a_rCz b_rCA of
142                    PrelBase.LT{-r9P,p-}{i} -> PrelBase.False{-58,w-}{i}
143                    PrelBase.EQ{-r3m,p-}{i} -> PrelBase.True{-5E,w-}{i}
144                    PrelBase.GT{-r9Q,p-}{i} -> PrelBase.True{-5E,w-}{i}
145     AbsBinds [] [] [([], >_aLK, >_aK1)]
146         >_aK1 a_rCH b_rCI
147               = case compare_aLD a_rCH b_rCI of
148                   PrelBase.LT{-r9P,p-}{i} -> PrelBase.False{-58,w-}{i}
149                   PrelBase.EQ{-r3m,p-}{i} -> PrelBase.False{-58,w-}{i}
150                   PrelBase.GT{-r9Q,p-}{i} -> PrelBase.True{-5E,w-}{i}
151     AbsBinds [] [] [([], max_aLL, max_aKe)]
152         max_aKe a_rCP b_rCQ
153                 = case compare_aLE a_rCP b_rCQ of
154                     PrelBase.LT{-r9P,p-}{i} -> b_rCQ
155                     PrelBase.EQ{-r3m,p-}{i} -> a_rCP
156                     PrelBase.GT{-r9Q,p-}{i} -> a_rCP
157     AbsBinds [] [] [([], min_aLM, min_aKr)]
158         min_aKr a_rCX b_rCY
159                 = case compare_aLF a_rCX b_rCY of
160                     PrelBase.LT{-r9P,p-}{i} -> a_rCX
161                     PrelBase.EQ{-r3m,p-}{i} -> b_rCY
162                     PrelBase.GT{-r9Q,p-}{i} -> b_rCY
163     d.Ord_aGT =
164         ({-dict-}
165          [d.Eq_aKz]
166          [compare_aLG, <_aLH, <=_aLI, >=_aLJ, >_aLK, max_aLL, min_aLM])
167 d.Eq_aKX = PrelBase.$d8{-raU,p-}
168 ==_aLo = PrelBase.=={-8Y,p-} PrelBase.Int{-3g,W-} d.Eq_aKX
169 d.Eq_aL0 = PrelNum.$d18{-rtI,p-}
170 ==_aLp = PrelBase.=={-8Y,p-} PrelBase.Double{-3a,W-} d.Eq_aL0
171 d.Eq_aL5 = PrelBase.$d34{-rar,p-}
172 d.Eq_aL3 = PrelBase.$d28{-rak,p-} PrelBase.Char{-38,W-} d.Eq_aL5
173 ==_aLq = PrelBase.=={-8Y,p-} PrelBase.String{-rfA,p-} d.Eq_aL3
174 d.Ord_aL8 = PrelBase.$d7{-raT,p-}
175 compare_aLr =
176     PrelBase.compare{-rfr,p-} PrelBase.Int{-3g,W-} d.Ord_aL8
177 d.Ord_aLb = PrelNum.$d17{-rtH,p-}
178 compare_aLs =
179     PrelBase.compare{-rfr,p-} PrelBase.Double{-3a,W-} d.Ord_aLb
180 d.Ord_aLg = PrelBase.$d51{-raK,p-}
181 d.Eq_aLh = d.Eq_aL3
182 d.Ord_aLe =
183     PrelBase.$d27{-raj,p-} PrelBase.Char{-38,W-} [d.Ord_aLg, d.Eq_aLh]
184 compare_aLt =
185     PrelBase.compare{-rfr,p-} PrelBase.String{-rfA,p-} d.Ord_aLe
186 ghc: module version changed to 1; reason: no old .hi file
187 _interface_ ShouldSucceed 1
188 _instance_modules_
189 ArrBase IO PrelNum
190 _usages_
191 PrelBase 1 :: $d15 1 $d16 1 $d2 1 $d27 1 $d28 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d40 1 $d42 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 && 1 . 1 not 1 Eq 1 Eval 1 Ord 1 Ordering 1 String 1;
192 PrelNum 1 :: $d17 1 $d18 1;
193 _exports_
194 ShouldSucceed Foo(C1 C2 C3);
195 _instances_
196 instance _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} = $d1;
197 instance _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} = $d2;
198 instance _forall_ [a b c] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Ord c} => {PrelBase.Ord (Foo a b c)} = $d3;
199 _declarations_
200 1 $d1 _:_ _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} ;;
201 1 $d2 _:_ _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} ;;
202 1 $d3 _:_ _forall_ [a b c] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Ord c, PrelBase.Eq (Foo a b c)} => {PrelBase.Ord (Foo a b c)} ;;
203 1 data Foo a b c = C1 a PrelBase.Int |  C2 b PrelBase.Double |  C3 c PrelBase.String ;