3 ================================================================================
5 A{-r4,x-}{i} = A{-r4,x-}{i} {}
6 B{-r3,x-}{i} = B{-r3,x-}{i} {}
7 C{-r6,x-}{i} = C{-r6,x-}{i} {}
8 D{-r8,x-}{i} = D{-r8,x-}{i} {}
9 AbsBinds [] [] [([], con2tag_AD#_rUn, con2tag_AD#_aXE)]
10 con2tag_AD#_aXE A{-r4,x-}{i} = 0#
11 con2tag_AD#_aXE B{-r3,x-}{i} = 1#
12 con2tag_AD#_aXE C{-r6,x-}{i} = 2#
13 con2tag_AD#_aXE D{-r8,x-}{i} = 3#
14 AbsBinds [] [] [([], maxtag_AD#_rUm, maxtag_AD#_aXJ)]
15 maxtag_AD#_aXJ = PrelBase.I#{-5b,w-}{i} 3#
16 AbsBinds [] [] [([], tag2con_AD#_rUl, tag2con_AD#_aXM)]
17 tag2con_AD#_aXM (PrelBase.I#{-5b,w-}{i} 0#) = A{-r4,x-}{i}
18 tag2con_AD#_aXM (PrelBase.I#{-5b,w-}{i} 1#) = B{-r3,x-}{i}
19 tag2con_AD#_aXM (PrelBase.I#{-5b,w-}{i} 2#) = C{-r6,x-}{i}
20 tag2con_AD#_aXM (PrelBase.I#{-5b,w-}{i} 3#) = D{-r8,x-}{i}
22 = IOBase.error{-87,w-} AD{-r4h,x-} "Urk! in TcGenDeriv"
23 AbsBinds [] [] [([], $d1{-r12z,x-}, d.Eq_aXY)]
25 AbsBinds [] [] [([], ==_a12H, ==_aY2)]
27 = case con2tag_AD#_rUn a_rUC of
29 -> case con2tag_AD#_rUn b_rUD of
31 -> if a#_rUF GHC.==#{-79,w-}{I} b#_rUH then
32 PrelBase.True{-5E,w-}{i}
34 PrelBase.False{-58,w-}{i}
35 AbsBinds [] [] [([], /=_a12I, /=_aYh)]
36 /=_aYh a_rUL b_rUM = PrelBase.not{-rhL,p-} ==_a12G a_rUL b_rUM
37 d.Eq_aXY = ({-dict-} [] [==_a12H, /=_a12I])
38 AbsBinds [] [] [([], $d2{-r12A,x-}, d.Eval_aYt)]
39 d.Eval_aYt = ({-dict-} [] [])
40 AbsBinds [] [] [([], $d3{-r12B,x-}, d.Ord_aYy)]
41 d.Eq_a10h = $d1{-r12z,x-}
42 compare_a12J = compare_a12P
43 compare_a12K = compare_a12P
44 compare_a12L = compare_a12P
45 compare_a12M = compare_a12P
46 compare_a12N = compare_a12P
47 compare_a12O = compare_a12P
48 AbsBinds [] [] [([], compare_a12P, compare_aYC)]
49 compare_aYC a_rVE b_rVF
50 = case con2tag_AD#_rUn a_rVE of
52 -> case con2tag_AD#_rUn b_rVF of
54 -> if a#_rVK GHC.==#{-79,w-}{I} b#_rVM then
55 PrelBase.EQ{-raK,p-}{i}
57 if a#_rVK GHC.<#{-7b,w-}{I} b#_rVM then
58 PrelBase.LT{-raL,p-}{i}
60 PrelBase.GT{-raM,p-}{i}
63 AbsBinds [taYV, taYX] [] [([taYV, taYX], cmp_eq_rVH, cmp_eq_aYG)]
64 cmp_eq_aYG _ _ = PrelBase.EQ{-raK,p-}{i}
67 AbsBinds [] [] [([], <_a12Q, <_aZa)]
69 = case compare_a12J a_rUS b_rUT of
70 PrelBase.LT{-raL,p-}{i} -> PrelBase.True{-5E,w-}{i}
71 PrelBase.EQ{-raK,p-}{i} -> PrelBase.False{-58,w-}{i}
72 PrelBase.GT{-raM,p-}{i} -> PrelBase.False{-58,w-}{i}
73 AbsBinds [] [] [([], <=_a12R, <=_aZm)]
75 = case compare_a12K a_rV0 b_rV1 of
76 PrelBase.LT{-raL,p-}{i} -> PrelBase.True{-5E,w-}{i}
77 PrelBase.EQ{-raK,p-}{i} -> PrelBase.True{-5E,w-}{i}
78 PrelBase.GT{-raM,p-}{i} -> PrelBase.False{-58,w-}{i}
79 AbsBinds [] [] [([], >=_a12S, >=_aZy)]
81 = case compare_a12L a_rV8 b_rV9 of
82 PrelBase.LT{-raL,p-}{i} -> PrelBase.False{-58,w-}{i}
83 PrelBase.EQ{-raK,p-}{i} -> PrelBase.True{-5E,w-}{i}
84 PrelBase.GT{-raM,p-}{i} -> PrelBase.True{-5E,w-}{i}
85 AbsBinds [] [] [([], >_a12T, >_aZK)]
87 = case compare_a12M a_rVg b_rVh of
88 PrelBase.LT{-raL,p-}{i} -> PrelBase.False{-58,w-}{i}
89 PrelBase.EQ{-raK,p-}{i} -> PrelBase.False{-58,w-}{i}
90 PrelBase.GT{-raM,p-}{i} -> PrelBase.True{-5E,w-}{i}
91 AbsBinds [] [] [([], max_a12U, max_aZW)]
93 = case compare_a12N a_rVo b_rVp of
94 PrelBase.LT{-raL,p-}{i} -> b_rVp
95 PrelBase.EQ{-raK,p-}{i} -> a_rVo
96 PrelBase.GT{-raM,p-}{i} -> a_rVo
97 AbsBinds [] [] [([], min_a12V, min_a108)]
99 = case compare_a12O a_rVw b_rVx of
100 PrelBase.LT{-raL,p-}{i} -> a_rVw
101 PrelBase.EQ{-raK,p-}{i} -> b_rVx
102 PrelBase.GT{-raM,p-}{i} -> b_rVx
106 [compare_a12P, <_a12Q, <=_a12R, >=_a12S, >_a12T, max_a12U, min_a12V])
107 AbsBinds [] [] [([], $d4{-r12C,x-}, d.Show_a10o)]
108 showsPrec_a12W = showsPrec_a12X
109 AbsBinds [] [] [([], showsPrec_a12X, showsPrec_a10s)]
110 showsPrec_a10s a_rVR A{-r4,x-}{i}
111 = PrelBase.showString{-ri0,p-} "A"
112 showsPrec_a10s a_rVT B{-r3,x-}{i}
113 = PrelBase.showString{-ri0,p-} "B"
114 showsPrec_a10s a_rVV C{-r6,x-}{i}
115 = PrelBase.showString{-ri0,p-} "C"
116 showsPrec_a10s a_rVX D{-r8,x-}{i}
117 = PrelBase.showString{-ri0,p-} "D"
118 AbsBinds [] [] [([], showList_a12Y, showList_a10B)]
119 showList_a10B = PrelBase.showList__{-rhV,p-}
120 AD{-r4h,x-} showsPrec_a12W PrelBase.I#{-5b,w-}{i} 0#
121 d.Show_a10o = ({-dict-} [] [showsPrec_a12X, showList_a12Y])
122 AbsBinds [] [] [([], $d5{-r12D,x-}, d.Ix_a10M)]
123 d.Show_a12j = $d4{-r12C,x-}
124 d.Ord_a12k = $d3{-r12B,x-}
125 inRange_a12Z = inRange_a132
126 AbsBinds [] [] [([], range_a130, range_a10Q)]
127 range_a10Q (a_rW5, b_rW6)
128 = case con2tag_AD#_rUn a_rW5 of
130 -> case con2tag_AD#_rUn b_rW6 of
132 -> map_a12E [PrelBase.Int{-3g,W-}, AD{-r4h,x-}] tag2con_AD#_rUl
133 enumFromTo_a12F PrelBase.I#{-5b,w-}{i} a#_rW8
134 PrelBase.I#{-5b,w-}{i} b#_rWa
135 AbsBinds [] [] [([], index_a131, index_a11q)]
136 index_a11q (c_rWe@(a_rWf, b_rWg)) d_rWh
137 = if inRange_a12Z c_rWe d_rWh then
138 case con2tag_AD#_rUn a_rWf of
140 -> case con2tag_AD#_rUn d_rWh of
142 -> case d#_rWl GHC.-#{-7E,w-}{I} a#_rWj of
143 c_rWn -> PrelBase.I#{-5b,w-}{i} c_rWn
146 PrelBase.Int{-3g,W-} "Ix.AD.index: out of range\n"
147 AbsBinds [] [] [([], inRange_a132, inRange_a11X)]
148 inRange_a11X (a_rWr, b_rWs) c_rWt
149 = case con2tag_AD#_rUn a_rWr of
151 -> case con2tag_AD#_rUn b_rWs of
153 -> case con2tag_AD#_rUn c_rWt of
155 -> if c#_rWz GHC.>=#{-78,w-}{I} a#_rWv then
156 c#_rWz GHC.<=#{-7c,w-}{I} b#_rWx
158 PrelBase.False{-58,w-}{i}
161 [d.Show_a12j, d.Ord_a12k]
162 [range_a130, index_a131, inRange_a132])
163 d.Functor_a12v = PrelBase.$d26{-rbT,p-}
164 map_a12E = PrelBase.map{-rgT,p-} PrelBase.[]{-3j,W-} d.Functor_a12v
165 d.Enum_a12y = PrelBase.$d6{-rct,p-}
167 PrelBase.enumFromTo{-8W,p-} PrelBase.Int{-3g,W-} d.Enum_a12y
169 NOTE: Simplifier still going after 4 iterations; bailing out.
170 ghc: module version changed to 1; reason: no old .hi file
171 _interface_ ShouldSucceed 1
175 Ix 1 :: $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 Ix 1;
176 PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 ShowS 1 String 1;
177 PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d28 1 $d29 1 $d30 1 $d33 1 $d34 1 $d35 1 $d8 1;
178 PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
180 ShouldSucceed AD(A B C D);
182 instance {PrelBase.Eq AD} = $d1;
183 instance {PrelBase.Eval AD} = $d2;
184 instance {PrelBase.Ord AD} = $d3;
185 instance {PrelBase.Show AD} = $d4;
186 instance {Ix.Ix AD} = $d5;
188 1 $d1 _:_ {PrelBase.Eq AD} ;;
189 1 $d2 _:_ {PrelBase.Eval AD} ;;
190 1 $d3 _:_ {PrelBase.Ord AD} ;;
191 1 $d4 _:_ {PrelBase.Show AD} ;;
192 1 $d5 _:_ {Ix.Ix AD} ;;
193 1 data AD = A | B | C | D ;