3 ================================================================================
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}
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}
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}
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#
23 [d.Eq_aGk, d.Eq_aGl, d.Eq_aGm]
24 [([taEU, taEX, taF0], $d1{-rLl,x-}, d.Eq_aEK)]
26 ==_aLu = PrelBase.=={-8Y,p-} taEU d.Eq_aGq
28 ==_aLv = PrelBase.=={-8Y,p-} taEX d.Eq_aGu
30 ==_aLw = PrelBase.=={-8Y,p-} taF0 d.Eq_aGy
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])
49 [([taLi, taLj, taLk], $d2{-rLm,x-}, d.Eval_aGL)]
50 d.Eval_aGL = ({-dict-} [] [])
53 [d.Ord_aKA, d.Ord_aKB, d.Ord_aKC, d.Eq_aKD]
54 [([taH0, taH1, taH2], $d3{-rLn,x-}, d.Ord_aGT)]
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
69 -> case con2tag_Foo#_rBK [taH2, taH0, taH1] b_rD6 of
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}
77 if a#_rDI GHC.<#{-7b,w-}{I} b#_rDK then
78 PrelBase.LT{-r9P,p-}{i}
80 PrelBase.GT{-r9Q,p-}{i}
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}
121 = IOBase.error{-87,w-}
122 PrelBase.Ordering{-3o,p-} "Urk! in TcGenDeriv"
125 cmp_eq_rD8 [taH0, taH1, taH2] [d.Ord_aJb, d.Ord_aJc, d.Ord_aJd]
127 AbsBinds [] [] [([], <_aLH, <_aJo)]
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)]
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)]
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)]
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)]
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)]
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
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-}
176 PrelBase.compare{-rfr,p-} PrelBase.Int{-3g,W-} d.Ord_aL8
177 d.Ord_aLb = PrelNum.$d17{-rtH,p-}
179 PrelBase.compare{-rfr,p-} PrelBase.Double{-3a,W-} d.Ord_aLb
180 d.Ord_aLg = PrelBase.$d51{-raK,p-}
183 PrelBase.$d27{-raj,p-} PrelBase.Char{-38,W-} [d.Ord_aLg, d.Eq_aLh]
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
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;
194 ShouldSucceed Foo(C1 C2 C3);
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;
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 ;