2cc6d001da40dc24f4e2eb9a77df398e893b0502
[ghc-hetmet.git] / ghc / tests / printing / should_compile / Print002.stderr
1
2 ==================== Typechecked ====================
3 Print002.MkFoo1{-ro-} =
4     _/\_ a_tr4H
5          b_tr4I
6          c_tr4J -> \ x1_B1
7                      x2_B2 ->
8         Print002.MkFoo1{-ro-} {_@_ a_tr4H
9                                _@_ b_tr4I
10                                _@_ c_tr4J
11                                x1_B1
12                                x2_B2}
13 Print002.:##{-rn-} =
14     _/\_ a_tr4H
15          b_tr4I
16          c_tr4J -> \ x1_B1
17                      x2_B2 ->
18         Print002.:##{-rn-} {_@_ a_tr4H _@_ b_tr4I _@_ c_tr4J x1_B1 x2_B2}
19 Print002.MkFoo3{-rq-} =
20     _/\_ a_tr4H
21          b_tr4I
22          c_tr4J -> \ x1_B1
23                      x2_B2 ->
24         Print002.MkFoo3{-rq-} {_@_ a_tr4H
25                                _@_ b_tr4I
26                                _@_ c_tr4J
27                                x1_B1
28                                x2_B2}
29 Print002.:***{-rs-} =
30     _/\_ a_tr4H
31          b_tr4I
32          c_tr4J -> \ x1_B1
33                      x2_B2 ->
34         Print002.:***{-rs-} {_@_ a_tr4H _@_ b_tr4I _@_ c_tr4J x1_B1 x2_B2}
35 AbsBinds [aQU] [d.Bar_aQY] [([aQU], Print002.f3d{-r4L-}, f3d_a13B)]
36     /////_a13C = Print002./////{-r4t-} aQU d.Bar_aQY
37     f3d_a13B x_r4v y_r4w = x_r4v /////_a13C y_r4w
38 AbsBinds [aRf] [d.Bar_aRj] [([aRf], Print002.f3c{-r4M-}, f3c_a13H)]
39     /////_a13I = Print002./////{-r4t-} aRf d.Bar_aRj
40     f3c_a13H x_r4r y_r4s = /////_a13I x_r4r y_r4s
41 AbsBinds [aRA] [d.Bar_aRE] [([aRA], Print002.f3b{-r4N-}, f3b_a13J)]
42     meth1_a13K = Print002.meth1{-r4m-} aRA d.Bar_aRE
43     f3b_a13J x_r4o y_r4p = x_r4o meth1_a13K y_r4p
44 AbsBinds [aRV] [d.Bar_aRZ] [([aRV], Print002.f3a{-r4O-}, f3a_a13L)]
45     meth1_a13M = Print002.meth1{-r4m-} aRV d.Bar_aRZ
46     f3a_a13L x_r4k y_r4l = meth1_a13M x_r4k y_r4l
47 AbsBinds
48 [aSq, aSs, aSu]
49 []
50 [([aSq, aSs, aSu], Print002.<<<<{-r4P-}, <<<<_a13N)]
51     <<<<_a13N x_r4e y_r4f
52               = Print002.:***{-rs-} [aSq, aSs, aSu] x_r4e y_r4f
53     <<<<_a13N x_r4h y_r4i
54               = Print002.:***{-rs-} [aSq, aSs, aSu] x_r4h y_r4i
55 AbsBinds
56 [aSL, aSN, aSP]
57 []
58 [([aSL, aSN, aSP], Print002......{-r4Q-}, ....._a13O)]
59     ....._a13O x_r4b y_r4c
60                = Print002.MkFoo3{-rq-} [aSL, aSN, aSP] x_r4b y_r4c
61 AbsBinds
62 [aT6, aT8, aTa]
63 []
64 [([aT6, aT8, aTa], Print002.....{-r4R-}, ...._a13P)]
65     ...._a13P x_r48 y_r49
66               = Print002.MkFoo3{-rq-} [aT6, aT8, aTa] x_r48 y_r49
67 AbsBinds
68 [aTr, aTt, aTv]
69 []
70 [([aTr, aTt, aTv], Print002.f2a{-r4S-}, f2a_a13Q)]
71     f2a_a13Q x_r45 y_r46
72              = Print002.:##{-rn-} [aTr, aTt, aTv] x_r45 y_r46
73 AbsBinds
74 [aTM, aTO, aTQ]
75 []
76 [([aTM, aTO, aTQ], Print002.f2{-r4T-}, f2_a13R)]
77     f2_a13R x_r42 y_r43
78             = Print002.:##{-rn-} [aTM, aTO, aTQ] x_r42 y_r43
79 AbsBinds
80 [aU7, aU9, aUb]
81 []
82 [([aU7, aU9, aUb], Print002.f1a{-r4U-}, f1a_a13S)]
83     f1a_a13S x_r3Z y_r40
84              = Print002.MkFoo1{-ro-} [aU7, aU9, aUb] x_r3Z y_r40
85 AbsBinds
86 [aUs, aUu, aUw]
87 []
88 [([aUs, aUu, aUw], Print002.f1{-r4V-}, f1_a13T)]
89     f1_a13T x_r3W y_r3X
90             = Print002.MkFoo1{-ro-} [aUs, aUu, aUw] x_r3W y_r3X
91 AbsBinds
92 [aVd, aVg, aVh]
93 []
94 [([aVd, aVg, aVh], con2tag_Foo#_rOp, con2tag_Foo#_a13U)]
95     con2tag_Foo#_a13U (Print002.MkFoo1{-ro-} _ _) = 0#
96     con2tag_Foo#_a13U (Print002.:##{-rn-} _ _) = 1#
97     con2tag_Foo#_a13U (Print002.MkFoo3{-rq-} _ _) = 2#
98     con2tag_Foo#_a13U (Print002.:***{-rs-} _ _) = 3#
99 AbsBinds
100 [a_taVs, b_taVt, c_taVu]
101 [d.Eq_aXB, d.Eq_aXC, d.Eq_aXD]
102 [([a_taVs, b_taVt, c_taVu], Print002.$dEqFoo0{-r13G-}, d.Eq_aVp)]
103     ==_a13h = ==_aVH
104     ==_a13f = PrelBase.=={-8X-} c_taVu d.Eq_aXO
105     ==_a13g = ==_a13f
106     ==_a13e = ==_a13f
107     ==_a13c = PrelBase.=={-8X-} b_taVt d.Eq_aXQ
108     ==_a13d = ==_a13c
109     ==_a13b = ==_a13c
110     ==_a13a = PrelBase.=={-8X-} a_taVs d.Eq_aXS
111     ==_a139 = ==_a13a
112     d.Eq_aXO = d.Eq_aXD
113     d.Eq_aXQ = d.Eq_aXC
114     d.Eq_aXS = d.Eq_aXB
115     AbsBinds [] [] [([], /=_aVr, /=_a13V)]
116         /=_a13V a_rOT b_rOU = PrelBase.not{-rhG-} ==_a13h a_rOT b_rOU
117     AbsBinds [] [] [([], ==_aVH, ==_a13W)]
118         ==_a13W (Print002.MkFoo1{-ro-} a1_rOw a2_rOx)
119                 (Print002.MkFoo1{-ro-} b1_rOy b2_rOz)
120                 = (a1_rOw ==_a13a b1_rOy)
121                   PrelBase.&&{-rgy-} (a2_rOx ==_a139 b2_rOz)
122         ==_a13W (Print002.:##{-rn-} a1_rOB a2_rOC)
123                 (Print002.:##{-rn-} b1_rOD b2_rOE)
124                 = (a1_rOB ==_a13b b1_rOD)
125                   PrelBase.&&{-rgy-} (a2_rOC ==_a13e b2_rOE)
126         ==_a13W (Print002.MkFoo3{-rq-} a1_rOG a2_rOH)
127                 (Print002.MkFoo3{-rq-} b1_rOI b2_rOJ)
128                 = (a1_rOG ==_a13c b1_rOI)
129                   PrelBase.&&{-rgy-} (a2_rOH ==_a13d b2_rOJ)
130         ==_a13W (Print002.:***{-rs-} a1_rOL a2_rOM)
131                 (Print002.:***{-rs-} b1_rON b2_rOO)
132                 = (a1_rOL ==_a13f b1_rON)
133                   PrelBase.&&{-rgy-} (a2_rOM ==_a13g b2_rOO)
134         ==_a13W a_rOQ b_rOR = PrelBase.False{-58-}
135     d.Eq_aVp =
136         PrelBase.:Eq{-r17-} (Print002.Foo{-r52-} a_taVs b_taVt c_taVu)
137                             /=_aVr
138                             ==_aVH
139 AbsBinds
140 [a_ta13i, b_ta13k, c_ta13j]
141 []
142 [([a_ta13i, b_ta13k, c_ta13j],
143   Print002.$dEvalFoo0{-r13F-},
144   d.Eval_aY3)]
145     d.Eval_aY3 =
146         PrelErr.error{-87-}
147             {PrelBase.Eval{-24-} (Print002.Foo{-r52-} a_ta13i b_ta13k c_ta13j)} "Compiler error: bad dictionary Eval"
148 AbsBinds
149 [a_taYe, b_taYf, c_taYg]
150 [d.Ord_a12F, d.Ord_a12H, d.Ord_a12I, d.Eq_a12J]
151 [([a_taYe, b_taYf, c_taYg], Print002.$dOrdFoo0{-r13E-}, d.Ord_aYb)]
152     compare_a13q = compare_aZC
153     compare_a13p = compare_aZC
154     compare_a13o = compare_aZC
155     compare_a13n = compare_aZC
156     compare_a13m = compare_aZC
157     compare_a13l = compare_aZC
158     d.Ord_a12D = d.Ord_a12I
159     d.Ord_a12C = d.Ord_a12H
160     d.Ord_a12E = d.Ord_a12F
161     d.Eq_a12G = d.Eq_a12J
162     AbsBinds [] [] [([], min_aYd, min_a13X)]
163         min_a13X a_rPs b_rPt
164                  = case compare_a13q a_rPs b_rPt of
165                      PrelBase.LT{-rbj-} -> a_rPs
166                      PrelBase.EQ{-r4K-} -> b_rPt
167                      PrelBase.GT{-rbk-} -> b_rPt
168     AbsBinds [] [] [([], max_aYu, max_a13Y)]
169         max_a13Y a_rPm b_rPn
170                  = case compare_a13p a_rPm b_rPn of
171                      PrelBase.LT{-rbj-} -> b_rPn
172                      PrelBase.EQ{-r4K-} -> a_rPm
173                      PrelBase.GT{-rbk-} -> a_rPm
174     AbsBinds [] [] [([], >_aYI, >_a13Z)]
175         >_a13Z a_rPg b_rPh
176                = case compare_a13o a_rPg b_rPh of
177                    PrelBase.LT{-rbj-} -> PrelBase.False{-58-}
178                    PrelBase.EQ{-r4K-} -> PrelBase.False{-58-}
179                    PrelBase.GT{-rbk-} -> PrelBase.True{-5D-}
180     AbsBinds [] [] [([], >=_aYW, >=_a140)]
181         >=_a140 a_rPa b_rPb
182                 = case compare_a13n a_rPa b_rPb of
183                     PrelBase.LT{-rbj-} -> PrelBase.False{-58-}
184                     PrelBase.EQ{-r4K-} -> PrelBase.True{-5D-}
185                     PrelBase.GT{-rbk-} -> PrelBase.True{-5D-}
186     AbsBinds [] [] [([], <=_aZa, <=_a141)]
187         <=_a141 a_rP4 b_rP5
188                 = case compare_a13m a_rP4 b_rP5 of
189                     PrelBase.LT{-rbj-} -> PrelBase.True{-5D-}
190                     PrelBase.EQ{-r4K-} -> PrelBase.True{-5D-}
191                     PrelBase.GT{-rbk-} -> PrelBase.False{-58-}
192     AbsBinds [] [] [([], <_aZo, <_a142)]
193         <_a142 a_rOY b_rOZ
194                = case compare_a13l a_rOY b_rOZ of
195                    PrelBase.LT{-rbj-} -> PrelBase.True{-5D-}
196                    PrelBase.EQ{-r4K-} -> PrelBase.False{-58-}
197                    PrelBase.GT{-rbk-} -> PrelBase.False{-58-}
198     AbsBinds [] [] [([], compare_aZC, compare_a143)]
199         compare_a143 a_rPy b_rPz
200                      = case con2tag_Foo#_rOp [c_taYg, a_taYe, b_taYf] a_rPy of
201                          a#_rQm
202                          -> case con2tag_Foo#_rOp [c_taYg, a_taYe, b_taYf] b_rPz of
203                               b#_rQo
204                               -> if a#_rQm PrelGHC.==#{-79-} b#_rQo then
205                                      case cmp_eq_a144 a_rPy b_rPz of
206                                        PrelBase.LT{-rbj-} -> PrelBase.LT{-rbj-}
207                                        PrelBase.EQ{-r4K-} -> PrelBase.EQ{-r4K-}
208                                        PrelBase.GT{-rbk-} -> PrelBase.GT{-rbk-}
209                                  else
210                                      if a#_rQm PrelGHC.<#{-7b-} b#_rQo then
211                                          PrelBase.LT{-rbj-}
212                                      else
213                                          PrelBase.GT{-rbk-}
214                      where
215                          {- rec -}
216                          AbsBinds
217                          [a11D, a11G, a11H]
218                          [d.Ord_a125, d.Ord_a122, d.Ord_a11Z]
219                          [([a11D, a11G, a11H], cmp_eq_rPB, cmp_eq_a145)]
220                              compare_a13x = PrelBase.compare{-rh8-} a11H d.Ord_a125
221                              compare_a13y = compare_a13x
222                              compare_a13w = compare_a13x
223                              compare_a13v = PrelBase.compare{-rh8-} a11G d.Ord_a11Z
224                              compare_a13u = compare_a13v
225                              compare_a13s = PrelBase.compare{-rh8-} a11D d.Ord_a122
226                              compare_a13t = compare_a13s
227                              compare_a13r = compare_a13s
228                              cmp_eq_a145 (Print002.MkFoo1{-ro-} a1_rPD a2_rPE)
229                                          (Print002.MkFoo1{-ro-} b1_rPF b2_rPG)
230                                          = case compare_a13u a1_rPD b1_rPF of
231                                              PrelBase.LT{-rbj-} -> PrelBase.LT{-rbj-}
232                                              PrelBase.EQ{-r4K-}
233                                              -> case compare_a13v a2_rPE b2_rPG of
234                                                   PrelBase.LT{-rbj-} -> PrelBase.LT{-rbj-}
235                                                   PrelBase.EQ{-r4K-} -> PrelBase.EQ{-r4K-}
236                                                   PrelBase.GT{-rbk-} -> PrelBase.GT{-rbk-}
237                                              PrelBase.GT{-rbk-} -> PrelBase.GT{-rbk-}
238                              cmp_eq_a145 (Print002.:##{-rn-} a1_rPO a2_rPP)
239                                          (Print002.:##{-rn-} b1_rPQ b2_rPR)
240                                          = case compare_a13x a1_rPO b1_rPQ of
241                                              PrelBase.LT{-rbj-} -> PrelBase.LT{-rbj-}
242                                              PrelBase.EQ{-r4K-}
243                                              -> case compare_a13s a2_rPP b2_rPR of
244                                                   PrelBase.LT{-rbj-} -> PrelBase.LT{-rbj-}
245                                                   PrelBase.EQ{-r4K-} -> PrelBase.EQ{-r4K-}
246                                                   PrelBase.GT{-rbk-} -> PrelBase.GT{-rbk-}
247                                              PrelBase.GT{-rbk-} -> PrelBase.GT{-rbk-}
248                              cmp_eq_a145 (Print002.MkFoo3{-rq-} a1_rPZ a2_rQ0)
249                                          (Print002.MkFoo3{-rq-} b1_rQ1 b2_rQ2)
250                                          = case compare_a13w a1_rPZ b1_rQ1 of
251                                              PrelBase.LT{-rbj-} -> PrelBase.LT{-rbj-}
252                                              PrelBase.EQ{-r4K-}
253                                              -> case compare_a13y a2_rQ0 b2_rQ2 of
254                                                   PrelBase.LT{-rbj-} -> PrelBase.LT{-rbj-}
255                                                   PrelBase.EQ{-r4K-} -> PrelBase.EQ{-r4K-}
256                                                   PrelBase.GT{-rbk-} -> PrelBase.GT{-rbk-}
257                                              PrelBase.GT{-rbk-} -> PrelBase.GT{-rbk-}
258                              cmp_eq_a145 (Print002.:***{-rs-} a1_rQa a2_rQb)
259                                          (Print002.:***{-rs-} b1_rQc b2_rQd)
260                                          = case compare_a13r a1_rQa b1_rQc of
261                                              PrelBase.LT{-rbj-} -> PrelBase.LT{-rbj-}
262                                              PrelBase.EQ{-r4K-}
263                                              -> case compare_a13t a2_rQb b2_rQd of
264                                                   PrelBase.LT{-rbj-} -> PrelBase.LT{-rbj-}
265                                                   PrelBase.EQ{-r4K-} -> PrelBase.EQ{-r4K-}
266                                                   PrelBase.GT{-rbk-} -> PrelBase.GT{-rbk-}
267                                              PrelBase.GT{-rbk-} -> PrelBase.GT{-rbk-}
268                              cmp_eq_a145 _ _
269                                          = PrelErr.error{-87-}
270                                                PrelBase.Ordering{-3p-} "Urk! in TcGenDeriv"
271                          cmp_eq_a144 =
272                              cmp_eq_rPB [c_taYg, a_taYe, b_taYf]
273                                  [d.Ord_a12C, d.Ord_a12D, d.Ord_a12E]
274     d.Ord_aYb =
275         PrelBase.:Ord{-r1o-} (Print002.Foo{-r52-} a_taYe b_taYf c_taYg)
276                              d.Eq_a12G
277                              min_aYd
278                              max_aYu
279                              >_aYI
280                              >=_aYW
281                              <=_aZa
282                              <_aZo
283                              compare_aZC
284 Print002.Bar2_sc1{-a13D-} =
285     _/\_ a_tr4y -> \ x1_B1 ->
286         _coerce_ {Print002.Bar{-r4z-} a_tr4y} {Print002.Bar2{-r4Y-} a_tr4y}
287         x1_B1
288 AbsBinds [a_ta13z] [d.Bar2_a134] []
289 Print002.meth2{-r4Z-} =
290     _/\_ a_tr4B -> \ x1_B1 ->
291         case x1_B1 of { Print002.:Bar{-r51-} x2_B2 x3_B3 x4_B4  -> x2_B2;}
292 Print002./////{-r4t-} =
293     _/\_ a_tr4B -> \ x1_B1 ->
294         case x1_B1 of { Print002.:Bar{-r51-} x2_B2 x3_B3 x4_B4  -> x3_B3;}
295 Print002.meth1{-r4m-} =
296     _/\_ a_tr4B -> \ x1_B1 ->
297         case x1_B1 of { Print002.:Bar{-r51-} x2_B2 x3_B3 x4_B4  -> x4_B4;}
298 AbsBinds [a_ta13A] [d.Bar_a138] []
299
300
301 Print002.hs:34: 
302     Pattern match(es) are overlapped
303         in the definition of function `<<<<'
304             x y = ...
305
306 ghc: module version changed to 1; reason: no old .hi file
307 _exports_
308 Print002 .... ..... <<<< f1 f1a f2 f2a f3a f3b f3c f3d Bar(:Bar :Bar meth2 ///// meth1) Bar2(:Bar2 :Bar2) Foo(MkFoo1 :## MkFoo3 :***);
309 _instances_
310 instance _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} = $dEqFoo0;
311 instance _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} = $dEvalFoo0;
312 instance _forall_ [a b c] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Ord c} => {PrelBase.Ord (Foo a b c)} = $dOrdFoo0;
313 _declarations_
314 1 $dEqFoo0 _:_ _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} ;;
315 1 $dEvalFoo0 _:_ _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} ;;
316 1 $dOrdFoo0 _:_ _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)} ;;
317 1 .... _:_ _forall_ [a b c] => b -> b -> Foo a b c ;;
318 1 ..... _:_ _forall_ [a b c] => b -> b -> Foo a b c ;;
319 1 <<<< _:_ _forall_ [a b c] => c -> c -> Foo a b c ;;
320 1 class Bar a where {meth2 :: _forall_ [b] => a -> b -> PrelBase.Bool; ///// :: a -> a -> PrelBase.Bool; meth1 :: a -> a -> PrelBase.Bool} ;
321 1 class {Bar a} => Bar2 a ;
322 1 data Foo a b c = MkFoo1 a a |  :## b c |  MkFoo3 b b |  :*** c c ;
323 1 f1 _:_ _forall_ [a b c] => a -> a -> Foo a b c ;;
324 1 f1a _:_ _forall_ [a b c] => a -> a -> Foo a b c ;;
325 1 f2 _:_ _forall_ [a b c] => b -> c -> Foo a b c ;;
326 1 f2a _:_ _forall_ [a b c] => b -> c -> Foo a b c ;;
327 1 f3a _:_ _forall_ [a] {Bar a} => a -> a -> PrelBase.Bool ;;
328 1 f3b _:_ _forall_ [a] {Bar a} => a -> a -> PrelBase.Bool ;;
329 1 f3c _:_ _forall_ [a] {Bar a} => a -> a -> PrelBase.Bool ;;
330 1 f3d _:_ _forall_ [a] {Bar a} => a -> a -> PrelBase.Bool ;;