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 [taFT] [d.Bar_aFW] [([taFT], f3d{-r4o,x-}, f3d_aFD)]
15 /////_aRB = /////{-r4C,x-} taFT d.Bar_aFW
16 f3d_aFD x_r48 y_r49 = x_r48 /////_aRB y_r49
17 AbsBinds [taGe] [d.Bar_aGh] [([taGe], f3c{-r4p,x-}, f3c_aFY)]
18 /////_aRG = /////{-r4C,x-} taGe d.Bar_aGh
19 f3c_aFY x_r45 y_r46 = /////_aRG x_r45 y_r46
20 AbsBinds [taGz] [d.Bar_aGC] [([taGz], f3b{-r4q,x-}, f3b_aGj)]
21 meth1_aRH = meth1{-r4B,x-} taGz d.Bar_aGC
22 f3b_aGj x_r42 y_r43 = x_r42 meth1_aRH y_r43
23 AbsBinds [taGU] [d.Bar_aGX] [([taGU], f3a{-r4r,x-}, f3a_aGE)]
24 meth1_aRI = meth1{-r4B,x-} taGU d.Bar_aGX
25 f3a_aGE x_r3Z y_r40 = meth1_aRI x_r3Z y_r40
29 [([taHp, taHr, taHt], <<<<{-r4s,x-}, <<<<_aGZ)]
31 = :***{-ro,x-}{i} [taHp, taHr, taHt] x_r3T y_r3U
33 = :***{-ro,x-}{i} [taHp, taHr, taHt] x_r3W y_r3X
37 [([taHL, taHN, taHP], .....{-r4t,x-}, ....._aHv)]
39 = MkFoo3{-rm,x-}{i} [taHL, taHN, taHP] x_r3Q y_r3R
43 [([taI7, taI9, taIb], ....{-r4u,x-}, ...._aHR)]
45 = MkFoo3{-rm,x-}{i} [taI7, taI9, taIb] x_r3N y_r3O
49 [([taIt, taIv, taIx], f2a{-r4v,x-}, f2a_aId)]
50 f2a_aId x_r3K y_r3L = :##{-rj,x-}{i} [taIt, taIv, taIx] x_r3K y_r3L
54 [([taIP, taIR, taIT], f2{-r4w,x-}, f2_aIz)]
55 f2_aIz x_r3H y_r3I = :##{-rj,x-}{i} [taIP, taIR, taIT] x_r3H y_r3I
59 [([taJb, taJd, taJf], f1a{-r4x,x-}, f1a_aIV)]
61 = MkFoo1{-rk,x-}{i} [taJb, taJd, taJf] x_r3E y_r3F
65 [([taJx, taJz, taJB], f1{-r4y,x-}, f1_aJh)]
67 = MkFoo1{-rk,x-}{i} [taJx, taJz, taJB] x_r3B y_r3C
71 [([taKj, taKm, taKn], con2tag_Foo#_rD5, con2tag_Foo#_aJD)]
72 con2tag_Foo#_aJD (MkFoo1{-rk,x-}{i} _ _) = 0#
73 con2tag_Foo#_aJD (:##{-rj,x-}{i} _ _) = 1#
74 con2tag_Foo#_aJD (MkFoo3{-rm,x-}{i} _ _) = 2#
75 con2tag_Foo#_aJD (:***{-ro,x-}{i} _ _) = 3#
78 [d.Eq_aMy, d.Eq_aMz, d.Eq_aMA]
79 [([taKG, taKJ, taKM], $d1{-rRC,x-}, d.Eq_aKv)]
81 ==_aRJ = PrelBase.=={-8Y,p-} taKG d.Eq_aME
83 ==_aRK = PrelBase.=={-8Y,p-} taKJ d.Eq_aMG
85 ==_aRL = PrelBase.=={-8Y,p-} taKM d.Eq_aMI
87 AbsBinds [] [] [([], ==_aRN, ==_aKz)]
93 ==_aKz (MkFoo1{-rk,x-}{i} a1_rDe a2_rDf)
94 (MkFoo1{-rk,x-}{i} b1_rDg b2_rDh)
95 = (a1_rDe ==_aRJ b1_rDg)
96 PrelBase.&&{-rgs,p-} (a2_rDf ==_aRP b2_rDh)
97 ==_aKz (:##{-rj,x-}{i} a1_rDj a2_rDk)
98 (:##{-rj,x-}{i} b1_rDl b2_rDm)
99 = (a1_rDj ==_aRK b1_rDl)
100 PrelBase.&&{-rgs,p-} (a2_rDk ==_aRL b2_rDm)
101 ==_aKz (MkFoo3{-rm,x-}{i} a1_rDo a2_rDp)
102 (MkFoo3{-rm,x-}{i} b1_rDq b2_rDr)
103 = (a1_rDo ==_aRQ b1_rDq)
104 PrelBase.&&{-rgs,p-} (a2_rDp ==_aRR b2_rDr)
105 ==_aKz (:***{-ro,x-}{i} a1_rDt a2_rDu)
106 (:***{-ro,x-}{i} b1_rDv b2_rDw)
107 = (a1_rDt ==_aRS b1_rDv)
108 PrelBase.&&{-rgs,p-} (a2_rDu ==_aRT b2_rDw)
109 ==_aKz a_rDy b_rDz = PrelBase.False{-58,w-}{i}
110 AbsBinds [] [] [([], /=_aRO, /=_aMr)]
111 /=_aMr a_rDD b_rDE = PrelBase.not{-rhq,p-} ==_aRM a_rDD b_rDE
112 d.Eq_aKv = ({-dict-} [] [==_aRN, /=_aRO])
116 [([taRw, taRx, taRy], $d2{-rRD,x-}, d.Eval_aMT)]
117 d.Eval_aMT = ({-dict-} [] [])
120 [d.Ord_aRa, d.Ord_aRb, d.Ord_aRc, d.Eq_aRd]
121 [([taN8, taN9, taNa], $d3{-rRE,x-}, d.Ord_aN1)]
123 d.Ord_aPR = d.Ord_aRa
124 d.Ord_aPS = d.Ord_aRb
125 d.Ord_aPT = d.Ord_aRc
126 compare_aRU = compare_aS0
127 compare_aRV = compare_aS0
128 compare_aRW = compare_aS0
129 compare_aRX = compare_aS0
130 compare_aRY = compare_aS0
131 compare_aRZ = compare_aS0
132 AbsBinds [] [] [([], compare_aS0, compare_aN5)]
133 compare_aN5 a_rEw b_rEx
134 = case con2tag_Foo#_rD5 [taNa, taN8, taN9] a_rEw of
136 -> case con2tag_Foo#_rD5 [taNa, taN8, taN9] b_rEx of
138 -> if a#_rFk GHC.==#{-79,w-}{I} b#_rFm then
139 case cmp_eq_aS7 a_rEw b_rEx of
140 PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i}
141 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
142 PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i}
144 if a#_rFk GHC.<#{-7b,w-}{I} b#_rFm then
145 PrelBase.LT{-rb5,p-}{i}
147 PrelBase.GT{-rb6,p-}{i}
152 [d.Ord_aPj, d.Ord_aPl, d.Ord_aPn]
153 [([taP3, taP4, taPb], cmp_eq_rEz, cmp_eq_aNe)]
154 compare_aS8 = PrelBase.compare{-rgH,p-} taP3 d.Ord_aPj
155 compare_aS9 = compare_aS8
156 compare_aSa = PrelBase.compare{-rgH,p-} taP4 d.Ord_aPl
157 compare_aSb = PrelBase.compare{-rgH,p-} taPb d.Ord_aPn
158 compare_aSc = compare_aSa
159 compare_aSd = compare_aSa
160 compare_aSe = compare_aSb
161 compare_aSf = compare_aSb
162 cmp_eq_aNe (MkFoo1{-rk,x-}{i} a1_rEB a2_rEC)
163 (MkFoo1{-rk,x-}{i} b1_rED b2_rEE)
164 = case compare_aS8 a1_rEB b1_rED of
165 PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i}
166 PrelBase.EQ{-r4n,p-}{i}
167 -> case compare_aS9 a2_rEC b2_rEE of
168 PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i}
169 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
170 PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i}
171 PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i}
172 cmp_eq_aNe (:##{-rj,x-}{i} a1_rEM a2_rEN)
173 (:##{-rj,x-}{i} b1_rEO b2_rEP)
174 = case compare_aSa a1_rEM b1_rEO of
175 PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i}
176 PrelBase.EQ{-r4n,p-}{i}
177 -> case compare_aSb a2_rEN b2_rEP of
178 PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i}
179 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
180 PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i}
181 PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i}
182 cmp_eq_aNe (MkFoo3{-rm,x-}{i} a1_rEX a2_rEY)
183 (MkFoo3{-rm,x-}{i} b1_rEZ b2_rF0)
184 = case compare_aSc a1_rEX b1_rEZ of
185 PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i}
186 PrelBase.EQ{-r4n,p-}{i}
187 -> case compare_aSd a2_rEY b2_rF0 of
188 PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i}
189 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
190 PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i}
191 PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i}
192 cmp_eq_aNe (:***{-ro,x-}{i} a1_rF8 a2_rF9)
193 (:***{-ro,x-}{i} b1_rFa b2_rFb)
194 = case compare_aSe a1_rF8 b1_rFa of
195 PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i}
196 PrelBase.EQ{-r4n,p-}{i}
197 -> case compare_aSf a2_rF9 b2_rFb of
198 PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i}
199 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i}
200 PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i}
201 PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i}
203 = IOBase.error{-87,w-}
204 PrelBase.Ordering{-3o,p-} "Urk! in TcGenDeriv"
207 cmp_eq_rEz [taN8, taN9, taNa] [d.Ord_aPR, d.Ord_aPS, d.Ord_aPT]
209 AbsBinds [] [] [([], <_aS1, <_aPY)]
211 = case compare_aRU a_rDK b_rDL of
212 PrelBase.LT{-rb5,p-}{i} -> PrelBase.True{-5E,w-}{i}
213 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.False{-58,w-}{i}
214 PrelBase.GT{-rb6,p-}{i} -> PrelBase.False{-58,w-}{i}
215 AbsBinds [] [] [([], <=_aS2, <=_aQb)]
217 = case compare_aRV a_rDS b_rDT of
218 PrelBase.LT{-rb5,p-}{i} -> PrelBase.True{-5E,w-}{i}
219 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.True{-5E,w-}{i}
220 PrelBase.GT{-rb6,p-}{i} -> PrelBase.False{-58,w-}{i}
221 AbsBinds [] [] [([], >=_aS3, >=_aQo)]
223 = case compare_aRW a_rE0 b_rE1 of
224 PrelBase.LT{-rb5,p-}{i} -> PrelBase.False{-58,w-}{i}
225 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.True{-5E,w-}{i}
226 PrelBase.GT{-rb6,p-}{i} -> PrelBase.True{-5E,w-}{i}
227 AbsBinds [] [] [([], >_aS4, >_aQB)]
229 = case compare_aRX a_rE8 b_rE9 of
230 PrelBase.LT{-rb5,p-}{i} -> PrelBase.False{-58,w-}{i}
231 PrelBase.EQ{-r4n,p-}{i} -> PrelBase.False{-58,w-}{i}
232 PrelBase.GT{-rb6,p-}{i} -> PrelBase.True{-5E,w-}{i}
233 AbsBinds [] [] [([], max_aS5, max_aQO)]
235 = case compare_aRY a_rEg b_rEh of
236 PrelBase.LT{-rb5,p-}{i} -> b_rEh
237 PrelBase.EQ{-r4n,p-}{i} -> a_rEg
238 PrelBase.GT{-rb6,p-}{i} -> a_rEg
239 AbsBinds [] [] [([], min_aS6, min_aR1)]
241 = case compare_aRZ a_rEo b_rEp of
242 PrelBase.LT{-rb5,p-}{i} -> a_rEo
243 PrelBase.EQ{-r4n,p-}{i} -> b_rEp
244 PrelBase.GT{-rb6,p-}{i} -> b_rEp
248 [compare_aS0, <_aS1, <=_aS2, >=_aS3, >_aS4, max_aS5, min_aS6])
249 scsel_Bar2Print002Bar{-aRF,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1
250 AbsBinds [taRz] [d.Bar2_aRs] []
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 [taRA] [d.Bar_aRv] []
266 Warning: Pattern match(es) completely overlapped
267 in the definition of function `<<<<'
268 ghc: module version changed to 1; reason: no old .hi file
269 _interface_ Print002 1
273 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;
274 PrelNum 1 :: $d17 1 $d18 1;
276 Print002 .... ..... <<<< f1 f1a f2 f2a f3a f3b f3c f3d Bar(meth1 ///// meth2) Bar2 Foo(MkFoo1 :## MkFoo3 :***);
278 instance _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} = $d1;
279 instance _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} = $d2;
280 instance _forall_ [a b c] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Ord c} => {PrelBase.Ord (Foo a b c)} = $d3;
282 1 $d1 _:_ _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} ;;
283 1 $d2 _:_ _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} ;;
284 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)} ;;
285 1 .... _:_ _forall_ [ta tb tc] => tb -> tb -> Foo ta tb tc ;;
286 1 ..... _:_ _forall_ [ta tb tc] => tb -> tb -> Foo ta tb tc ;;
287 1 <<<< _:_ _forall_ [ta tb tc] => tc -> tc -> Foo ta tb tc ;;
288 1 class Bar a where {meth1 :: a -> a -> PrelBase.Bool; ///// :: a -> a -> PrelBase.Bool; meth2 :: _forall_ [b] => a -> b -> PrelBase.Bool} ;
289 1 class {Bar a} => Bar2 a ;
290 1 data Foo a b c = MkFoo1 a a | :## b c | MkFoo3 b b | :*** c c ;
291 1 f1 _:_ _forall_ [ta tb tc] => ta -> ta -> Foo ta tb tc ;;
292 1 f1a _:_ _forall_ [ta tb tc] => ta -> ta -> Foo ta tb tc ;;
293 1 f2 _:_ _forall_ [ta tb tc] => tb -> tc -> Foo ta tb tc ;;
294 1 f2a _:_ _forall_ [ta tb tc] => tb -> tc -> Foo ta tb tc ;;
295 1 f3a _:_ _forall_ [ta] {Bar ta} => ta -> ta -> PrelBase.Bool ;;
296 1 f3b _:_ _forall_ [ta] {Bar ta} => ta -> ta -> PrelBase.Bool ;;
297 1 f3c _:_ _forall_ [ta] {Bar ta} => ta -> ta -> PrelBase.Bool ;;
298 1 f3d _:_ _forall_ [ta] {Bar ta} => ta -> ta -> PrelBase.Bool ;;