1 ==================== Typechecked ====================
3 _/\_ a_tr4k b_tr4l c_tr4m -> \ tpl_B1 tpl_B2 ->
4 MkFoo1{-rk,x-}{i} {_@_ a_tr4k _@_ b_tr4l _@_ c_tr4m tpl_B1 tpl_B2}
6 _/\_ a_tr4k b_tr4l c_tr4m -> \ tpl_B1 tpl_B2 ->
7 :##{-rj,x-}{i} {_@_ a_tr4k _@_ b_tr4l _@_ c_tr4m tpl_B1 tpl_B2}
9 _/\_ a_tr4k b_tr4l c_tr4m -> \ tpl_B1 tpl_B2 ->
10 MkFoo3{-rm,x-}{i} {_@_ a_tr4k _@_ b_tr4l _@_ c_tr4m tpl_B1 tpl_B2}
12 _/\_ a_tr4k b_tr4l c_tr4m -> \ tpl_B1 tpl_B2 ->
13 :***{-ro,x-}{i} {_@_ a_tr4k _@_ b_tr4l _@_ c_tr4m tpl_B1 tpl_B2}
14 AbsBinds [taIx] [d.Bar_aIA] [([taIx], f3d{-r4o,x-}, f3d_aTU)]
15 /////_aTV = /////{-r4C,x-} taIx d.Bar_aIA
16 f3d_aTU x_r48 y_r49 = x_r48 /////_aTV y_r49
17 AbsBinds [taIR] [d.Bar_aIU] [([taIR], f3c{-r4p,x-}, f3c_aU0)]
18 /////_aU1 = /////{-r4C,x-} taIR d.Bar_aIU
19 f3c_aU0 x_r45 y_r46 = /////_aU1 x_r45 y_r46
20 AbsBinds [taJb] [d.Bar_aJe] [([taJb], f3b{-r4q,x-}, f3b_aU2)]
21 meth1_aU3 = meth1{-r4B,x-} taJb d.Bar_aJe
22 f3b_aU2 x_r42 y_r43 = x_r42 meth1_aU3 y_r43
23 AbsBinds [taJv] [d.Bar_aJy] [([taJv], f3a{-r4r,x-}, f3a_aU4)]
24 meth1_aU5 = meth1{-r4B,x-} taJv d.Bar_aJy
25 f3a_aU4 x_r3Z y_r40 = meth1_aU5 x_r3Z y_r40
29 [([taJZ, taK1, taK3], <<<<{-r4s,x-}, <<<<_aU6)]
31 = :***{-ro,x-}{i} [taJZ, taK1, taK3] x_r3T y_r3U
33 = :***{-ro,x-}{i} [taJZ, taK1, taK3] x_r3W y_r3X
37 [([taKk, taKm, taKo], .....{-r4t,x-}, ....._aU7)]
39 = MkFoo3{-rm,x-}{i} [taKk, taKm, taKo] x_r3Q y_r3R
43 [([taKF, taKH, taKJ], ....{-r4u,x-}, ...._aU8)]
45 = MkFoo3{-rm,x-}{i} [taKF, taKH, taKJ] x_r3N y_r3O
49 [([taL0, taL2, taL4], f2a{-r4v,x-}, f2a_aU9)]
50 f2a_aU9 x_r3K y_r3L = :##{-rj,x-}{i} [taL0, taL2, taL4] x_r3K y_r3L
54 [([taLl, taLn, taLp], f2{-r4w,x-}, f2_aUa)]
55 f2_aUa x_r3H y_r3I = :##{-rj,x-}{i} [taLl, taLn, taLp] x_r3H y_r3I
59 [([taLG, taLI, taLK], f1a{-r4x,x-}, f1a_aUb)]
61 = MkFoo1{-rk,x-}{i} [taLG, taLI, taLK] x_r3E y_r3F
65 [([taM1, taM3, taM5], f1{-r4y,x-}, f1_aUc)]
67 = MkFoo1{-rk,x-}{i} [taM1, taM3, taM5] x_r3B y_r3C
71 [([taMM, taMP, taMQ], con2tag_Foo#_rFK, con2tag_Foo#_aUd)]
72 con2tag_Foo#_aUd (MkFoo1{-rk,x-}{i} _ _) = 0#
73 con2tag_Foo#_aUd (:##{-rj,x-}{i} _ _) = 1#
74 con2tag_Foo#_aUd (MkFoo3{-rm,x-}{i} _ _) = 2#
75 con2tag_Foo#_aUd (:***{-ro,x-}{i} _ _) = 3#
78 [d.Eq_aOZ, d.Eq_aP0, d.Eq_aP1]
79 [([taN8, taNb, taNe], $d1{-rTW,x-}, d.Eq_aMY)]
81 ==_aUe = PrelBase.=={-8Z,p-} taN8 d.Eq_aP5
83 ==_aUf = PrelBase.=={-8Z,p-} taNb d.Eq_aP7
85 ==_aUg = PrelBase.=={-8Z,p-} taNe d.Eq_aP9
87 AbsBinds [] [] [([], ==_aUi, ==_aUk)]
93 ==_aUk (MkFoo1{-rk,x-}{i} a1_rFT a2_rFU)
94 (MkFoo1{-rk,x-}{i} b1_rFV b2_rFW)
95 = (a1_rFT ==_aUe b1_rFV)
96 PrelBase.&&{-rgw,p-} (a2_rFU ==_aUl b2_rFW)
97 ==_aUk (:##{-rj,x-}{i} a1_rFY a2_rFZ)
98 (:##{-rj,x-}{i} b1_rG0 b2_rG1)
99 = (a1_rFY ==_aUf b1_rG0)
100 PrelBase.&&{-rgw,p-} (a2_rFZ ==_aUg b2_rG1)
101 ==_aUk (MkFoo3{-rm,x-}{i} a1_rG3 a2_rG4)
102 (MkFoo3{-rm,x-}{i} b1_rG5 b2_rG6)
103 = (a1_rG3 ==_aUm b1_rG5)
104 PrelBase.&&{-rgw,p-} (a2_rG4 ==_aUn b2_rG6)
105 ==_aUk (:***{-ro,x-}{i} a1_rG8 a2_rG9)
106 (:***{-ro,x-}{i} b1_rGa b2_rGb)
107 = (a1_rG8 ==_aUo b1_rGa)
108 PrelBase.&&{-rgw,p-} (a2_rG9 ==_aUp b2_rGb)
109 ==_aUk a_rGd b_rGe = PrelBase.False{-58,w-}{i}
110 AbsBinds [] [] [([], /=_aUj, /=_aUq)]
111 /=_aUq a_rGi b_rGj = PrelBase.not{-rhu,p-} ==_aUh a_rGi b_rGj
112 d.Eq_aMY = ({-dict-} [] [==_aUi, /=_aUj])
116 [([taTP, taTQ, taTR], $d2{-rTX,x-}, d.Eval_aPk)]
117 d.Eval_aPk = ({-dict-} [] [])
120 [d.Ord_aTt, d.Ord_aTu, d.Ord_aTv, d.Eq_aTw]
121 [([taPy, taPz, taPA], $d3{-rTY,x-}, d.Ord_aPs)]
123 d.Ord_aSg = d.Ord_aTt
124 d.Ord_aSh = d.Ord_aTu
125 d.Ord_aSi = d.Ord_aTv
126 compare_aUr = compare_aUx
127 compare_aUs = compare_aUx
128 compare_aUt = compare_aUx
129 compare_aUu = compare_aUx
130 compare_aUv = compare_aUx
131 compare_aUw = compare_aUx
132 AbsBinds [] [] [([], compare_aUx, compare_aUE)]
133 compare_aUE a_rHb b_rHc
134 = case con2tag_Foo#_rFK [taPA, taPy, taPz] a_rHb of
136 -> case con2tag_Foo#_rFK [taPA, taPy, taPz] b_rHc of
138 -> if a#_rHZ GHC.==#{-79,w-}{I} b#_rI1 then
139 case cmp_eq_aUF a_rHb b_rHc of
140 PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
141 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
142 PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
144 if a#_rHZ GHC.<#{-7b,w-}{I} b#_rI1 then
145 PrelBase.LT{-rb7,p-}{i}
147 PrelBase.GT{-rb8,p-}{i}
152 [d.Ord_aRI, d.Ord_aRK, d.Ord_aRM]
153 [([taRs, taRt, taRA], cmp_eq_rHe, cmp_eq_aUG)]
154 compare_aUH = PrelBase.compare{-rgL,p-} taRs d.Ord_aRI
155 compare_aUI = compare_aUH
156 compare_aUJ = PrelBase.compare{-rgL,p-} taRt d.Ord_aRK
157 compare_aUK = PrelBase.compare{-rgL,p-} taRA d.Ord_aRM
158 compare_aUL = compare_aUJ
159 compare_aUM = compare_aUJ
160 compare_aUN = compare_aUK
161 compare_aUO = compare_aUK
162 cmp_eq_aUG (MkFoo1{-rk,x-}{i} a1_rHg a2_rHh)
163 (MkFoo1{-rk,x-}{i} b1_rHi b2_rHj)
164 = case compare_aUH a1_rHg b1_rHi of
165 PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
166 PrelBase.EQ{-r4n,p-}{i}
167 -> case compare_aUI a2_rHh b2_rHj of
168 PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
169 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
170 PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
171 PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
172 cmp_eq_aUG (:##{-rj,x-}{i} a1_rHr a2_rHs)
173 (:##{-rj,x-}{i} b1_rHt b2_rHu)
174 = case compare_aUJ a1_rHr b1_rHt of
175 PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
176 PrelBase.EQ{-r4n,p-}{i}
177 -> case compare_aUK a2_rHs b2_rHu of
178 PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
179 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
180 PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
181 PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
182 cmp_eq_aUG (MkFoo3{-rm,x-}{i} a1_rHC a2_rHD)
183 (MkFoo3{-rm,x-}{i} b1_rHE b2_rHF)
184 = case compare_aUL a1_rHC b1_rHE of
185 PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
186 PrelBase.EQ{-r4n,p-}{i}
187 -> case compare_aUM a2_rHD b2_rHF of
188 PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
189 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
190 PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
191 PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
192 cmp_eq_aUG (:***{-ro,x-}{i} a1_rHN a2_rHO)
193 (:***{-ro,x-}{i} b1_rHP b2_rHQ)
194 = case compare_aUN a1_rHN b1_rHP of
195 PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
196 PrelBase.EQ{-r4n,p-}{i}
197 -> case compare_aUO a2_rHO b2_rHQ of
198 PrelBase.LT{-rb7,p-}{i} -> PrelBase.LT{-rb7,p-}{i}
199 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
200 PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
201 PrelBase.GT{-rb8,p-}{i} -> PrelBase.GT{-rb8,p-}{i}
203 = Error.error{-87,w-}
204 PrelBase.Ordering{-3n,p-} "Urk! in TcGenDeriv"
207 cmp_eq_rHe [taPy, taPz, taPA] [d.Ord_aSg, d.Ord_aSh, d.Ord_aSi]
209 AbsBinds [] [] [([], <_aUy, <_aUP)]
211 = case compare_aUr a_rGp b_rGq of
212 PrelBase.LT{-rb7,p-}{i} -> PrelBase.True{-5E,w-}{i}
213 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.False{-58,w-}{i}
214 PrelBase.GT{-rb8,p-}{i} -> PrelBase.False{-58,w-}{i}
215 AbsBinds [] [] [([], <=_aUz, <=_aUQ)]
217 = case compare_aUs a_rGx b_rGy of
218 PrelBase.LT{-rb7,p-}{i} -> PrelBase.True{-5E,w-}{i}
219 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.True{-5E,w-}{i}
220 PrelBase.GT{-rb8,p-}{i} -> PrelBase.False{-58,w-}{i}
221 AbsBinds [] [] [([], >=_aUA, >=_aUR)]
223 = case compare_aUt a_rGF b_rGG of
224 PrelBase.LT{-rb7,p-}{i} -> PrelBase.False{-58,w-}{i}
225 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.True{-5E,w-}{i}
226 PrelBase.GT{-rb8,p-}{i} -> PrelBase.True{-5E,w-}{i}
227 AbsBinds [] [] [([], >_aUB, >_aUS)]
229 = case compare_aUu a_rGN b_rGO of
230 PrelBase.LT{-rb7,p-}{i} -> PrelBase.False{-58,w-}{i}
231 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.False{-58,w-}{i}
232 PrelBase.GT{-rb8,p-}{i} -> PrelBase.True{-5E,w-}{i}
233 AbsBinds [] [] [([], max_aUC, max_aUT)]
235 = case compare_aUv a_rGV b_rGW of
236 PrelBase.LT{-rb7,p-}{i} -> b_rGW
237 PrelBase.EQ{-r4n,p-}{i} -> a_rGV
238 PrelBase.GT{-rb8,p-}{i} -> a_rGV
239 AbsBinds [] [] [([], min_aUD, min_aUU)]
241 = case compare_aUw a_rH3 b_rH4 of
242 PrelBase.LT{-rb7,p-}{i} -> a_rH3
243 PrelBase.EQ{-r4n,p-}{i} -> b_rH4
244 PrelBase.GT{-rb8,p-}{i} -> b_rH4
248 [compare_aUx, <_aUy, <=_aUz, >=_aUA, >_aUB, max_aUC, min_aUD])
249 scsel_Bar2Print002Bar{-aTZ,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1
250 AbsBinds [taTS] [d.Bar2_aTL] []
252 _/\_ t12 -> \ tpl_B1 ->
253 case tpl_B1 of { PrelTup.(,,){-63,w-}{i} tpl_B1 tpl_B2 tpl_B3 ->
256 _/\_ t12 -> \ tpl_B1 ->
257 case tpl_B1 of { PrelTup.(,,){-63,w-}{i} tpl_B1 tpl_B2 tpl_B3 ->
260 _/\_ t12 -> \ tpl_B1 ->
261 case tpl_B1 of { PrelTup.(,,){-63,w-}{i} tpl_B1 tpl_B2 tpl_B3 ->
263 AbsBinds [taTT] [d.Bar_aTO] []
265 ghc: module version changed to 1; reason: no old .hi file
266 _interface_ Print002 1
268 Addr ArrBase Foreign IO PrelNum
270 PrelBase 1 :: $d15 1 $d16 1 $d2 1 $d33 1 $d35 1 $d38 1 $d40 1 $d42 1 $d46 1 $d47 1 $d50 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;
271 PrelNum 1 :: $d17 1 $d18 1;
273 Print002 .... ..... <<<< f1 f1a f2 f2a f3a f3b f3c f3d Bar(meth1 ///// meth2) Bar2 Foo(MkFoo1 :## MkFoo3 :***);
275 instance _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} = $d1;
276 instance _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} = $d2;
277 instance _forall_ [a b c] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Ord c} => {PrelBase.Ord (Foo a b c)} = $d3;
279 1 $d1 _:_ _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} ;;
280 1 $d2 _:_ _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} ;;
281 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)} ;;
282 1 .... _:_ _forall_ [ta tb tc] => tb -> tb -> Foo ta tb tc ;;
283 1 ..... _:_ _forall_ [ta tb tc] => tb -> tb -> Foo ta tb tc ;;
284 1 <<<< _:_ _forall_ [ta tb tc] => tc -> tc -> Foo ta tb tc ;;
285 1 class Bar a where {meth1 :: a -> a -> PrelBase.Bool; ///// :: a -> a -> PrelBase.Bool; meth2 :: _forall_ [b] => a -> b -> PrelBase.Bool} ;
286 1 class {Bar a} => Bar2 a ;
287 1 data Foo a b c = MkFoo1 a a | :## b c | MkFoo3 b b | :*** c c ;
288 1 f1 _:_ _forall_ [ta tb tc] => ta -> ta -> Foo ta tb tc ;;
289 1 f1a _:_ _forall_ [ta tb tc] => ta -> ta -> Foo ta tb tc ;;
290 1 f2 _:_ _forall_ [ta tb tc] => tb -> tc -> Foo ta tb tc ;;
291 1 f2a _:_ _forall_ [ta tb tc] => tb -> tc -> Foo ta tb tc ;;
292 1 f3a _:_ _forall_ [ta] {Bar ta} => ta -> ta -> PrelBase.Bool ;;
293 1 f3b _:_ _forall_ [ta] {Bar ta} => ta -> ta -> PrelBase.Bool ;;
294 1 f3c _:_ _forall_ [ta] {Bar ta} => ta -> ta -> PrelBase.Bool ;;
295 1 f3d _:_ _forall_ [ta] {Bar ta} => ta -> ta -> PrelBase.Bool ;;