3 ================================================================================
6 _/\_ a_tr4s b_tr4t -> \ tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 ->
8 {_@_ a_tr4s _@_ b_tr4t tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5}
9 Foo1{-r6,x-}{i} = Foo1{-r6,x-}{i} {}
10 Foo2{-r5,x-}{i} = Foo2{-r5,x-}{i} {}
11 Foo3{-r8,x-}{i} = Foo3{-r8,x-}{i} {}
12 Foo4{-ra,x-}{i} = Foo4{-ra,x-}{i} {}
13 Foo5{-rc,x-}{i} = Foo5{-rc,x-}{i} {}
14 Foo6{-re,x-}{i} = Foo6{-re,x-}{i} {}
15 Foo7{-rg,x-}{i} = Foo7{-rg,x-}{i} {}
16 Foo8{-ri,x-}{i} = Foo8{-ri,x-}{i} {}
17 AbsBinds [] [] [([], con2tag_Foo#_rUI, con2tag_Foo#_aYg)]
18 con2tag_Foo#_aYg Foo1{-r6,x-}{i} = 0#
19 con2tag_Foo#_aYg Foo2{-r5,x-}{i} = 1#
20 con2tag_Foo#_aYg Foo3{-r8,x-}{i} = 2#
21 con2tag_Foo#_aYg Foo4{-ra,x-}{i} = 3#
22 con2tag_Foo#_aYg Foo5{-rc,x-}{i} = 4#
23 con2tag_Foo#_aYg Foo6{-re,x-}{i} = 5#
24 con2tag_Foo#_aYg Foo7{-rg,x-}{i} = 6#
25 con2tag_Foo#_aYg Foo8{-ri,x-}{i} = 7#
26 AbsBinds [] [] [([], maxtag_Foo#_rUH, maxtag_Foo#_aYl)]
27 maxtag_Foo#_aYl = PrelBase.I#{-5b,w-}{i} 7#
28 AbsBinds [] [] [([], tag2con_Foo#_rUG, tag2con_Foo#_aYo)]
29 tag2con_Foo#_aYo (PrelBase.I#{-5b,w-}{i} 0#) = Foo1{-r6,x-}{i}
30 tag2con_Foo#_aYo (PrelBase.I#{-5b,w-}{i} 1#) = Foo2{-r5,x-}{i}
31 tag2con_Foo#_aYo (PrelBase.I#{-5b,w-}{i} 2#) = Foo3{-r8,x-}{i}
32 tag2con_Foo#_aYo (PrelBase.I#{-5b,w-}{i} 3#) = Foo4{-ra,x-}{i}
33 tag2con_Foo#_aYo (PrelBase.I#{-5b,w-}{i} 4#) = Foo5{-rc,x-}{i}
34 tag2con_Foo#_aYo (PrelBase.I#{-5b,w-}{i} 5#) = Foo6{-re,x-}{i}
35 tag2con_Foo#_aYo (PrelBase.I#{-5b,w-}{i} 6#) = Foo7{-rg,x-}{i}
36 tag2con_Foo#_aYo (PrelBase.I#{-5b,w-}{i} 7#) = Foo8{-ri,x-}{i}
38 = IOBase.error{-87,w-} Foo{-r4z,x-} "Urk! in TcGenDeriv"
39 AbsBinds [] [] [([], $d1{-r13o,x-}, d.Eq_aYA)]
41 AbsBinds [] [] [([], ==_a13x, ==_aYE)]
43 = case con2tag_Foo#_rUI a_rV5 of
45 -> case con2tag_Foo#_rUI b_rV6 of
47 -> if a#_rV8 GHC.==#{-79,w-}{I} b#_rVa then
48 PrelBase.True{-5E,w-}{i}
50 PrelBase.False{-58,w-}{i}
51 AbsBinds [] [] [([], /=_a13y, /=_aYT)]
52 /=_aYT a_rVe b_rVf = PrelBase.not{-ri1,p-} ==_a13w a_rVe b_rVf
53 d.Eq_aYA = ({-dict-} [] [==_a13x, /=_a13y])
57 [([ta13m, ta13n], $d2{-r13p,x-}, d.Eval_aZ7)]
58 d.Eval_aZ7 = ({-dict-} [] [])
59 AbsBinds [] [] [([], $d3{-r13q,x-}, d.Eval_aZc)]
60 d.Eval_aZc = ({-dict-} [] [])
61 AbsBinds [] [] [([], $d4{-r13r,x-}, d.Ord_aZh)]
62 d.Eq_a110 = $d1{-r13o,x-}
63 compare_a13z = compare_a13F
64 compare_a13A = compare_a13F
65 compare_a13B = compare_a13F
66 compare_a13C = compare_a13F
67 compare_a13D = compare_a13F
68 compare_a13E = compare_a13F
69 AbsBinds [] [] [([], compare_a13F, compare_aZl)]
70 compare_aZl a_rW8 b_rW9
71 = case con2tag_Foo#_rUI a_rW8 of
73 -> case con2tag_Foo#_rUI b_rW9 of
75 -> if a#_rWe GHC.==#{-79,w-}{I} b#_rWg then
76 PrelBase.EQ{-rb0,p-}{i}
78 if a#_rWe GHC.<#{-7b,w-}{I} b#_rWg then
79 PrelBase.LT{-rb1,p-}{i}
81 PrelBase.GT{-rb2,p-}{i}
84 AbsBinds [taZE, taZG] [] [([taZE, taZG], cmp_eq_rWb, cmp_eq_aZp)]
85 cmp_eq_aZp _ _ = PrelBase.EQ{-rb0,p-}{i}
88 AbsBinds [] [] [([], <_a13G, <_aZT)]
90 = case compare_a13z a_rVm b_rVn of
91 PrelBase.LT{-rb1,p-}{i} -> PrelBase.True{-5E,w-}{i}
92 PrelBase.EQ{-rb0,p-}{i} -> PrelBase.False{-58,w-}{i}
93 PrelBase.GT{-rb2,p-}{i} -> PrelBase.False{-58,w-}{i}
94 AbsBinds [] [] [([], <=_a13H, <=_a105)]
96 = case compare_a13A a_rVu b_rVv of
97 PrelBase.LT{-rb1,p-}{i} -> PrelBase.True{-5E,w-}{i}
98 PrelBase.EQ{-rb0,p-}{i} -> PrelBase.True{-5E,w-}{i}
99 PrelBase.GT{-rb2,p-}{i} -> PrelBase.False{-58,w-}{i}
100 AbsBinds [] [] [([], >=_a13I, >=_a10h)]
102 = case compare_a13B a_rVC b_rVD of
103 PrelBase.LT{-rb1,p-}{i} -> PrelBase.False{-58,w-}{i}
104 PrelBase.EQ{-rb0,p-}{i} -> PrelBase.True{-5E,w-}{i}
105 PrelBase.GT{-rb2,p-}{i} -> PrelBase.True{-5E,w-}{i}
106 AbsBinds [] [] [([], >_a13J, >_a10t)]
108 = case compare_a13C a_rVK b_rVL of
109 PrelBase.LT{-rb1,p-}{i} -> PrelBase.False{-58,w-}{i}
110 PrelBase.EQ{-rb0,p-}{i} -> PrelBase.False{-58,w-}{i}
111 PrelBase.GT{-rb2,p-}{i} -> PrelBase.True{-5E,w-}{i}
112 AbsBinds [] [] [([], max_a13K, max_a10F)]
114 = case compare_a13D a_rVS b_rVT of
115 PrelBase.LT{-rb1,p-}{i} -> b_rVT
116 PrelBase.EQ{-rb0,p-}{i} -> a_rVS
117 PrelBase.GT{-rb2,p-}{i} -> a_rVS
118 AbsBinds [] [] [([], min_a13L, min_a10R)]
120 = case compare_a13E a_rW0 b_rW1 of
121 PrelBase.LT{-rb1,p-}{i} -> a_rW0
122 PrelBase.EQ{-rb0,p-}{i} -> b_rW1
123 PrelBase.GT{-rb2,p-}{i} -> b_rW1
127 [compare_a13F, <_a13G, <=_a13H, >=_a13I, >_a13J, max_a13K, min_a13L])
128 AbsBinds [] [] [([], $d5{-r13s,x-}, d.Show_a117)]
129 showsPrec_a13M = showsPrec_a13N
130 AbsBinds [] [] [([], showsPrec_a13N, showsPrec_a11b)]
131 showsPrec_a11b a_rWl Foo1{-r6,x-}{i}
132 = PrelBase.showString{-rif,p-} "Foo1"
133 showsPrec_a11b a_rWn Foo2{-r5,x-}{i}
134 = PrelBase.showString{-rif,p-} "Foo2"
135 showsPrec_a11b a_rWp Foo3{-r8,x-}{i}
136 = PrelBase.showString{-rif,p-} "Foo3"
137 showsPrec_a11b a_rWr Foo4{-ra,x-}{i}
138 = PrelBase.showString{-rif,p-} "Foo4"
139 showsPrec_a11b a_rWt Foo5{-rc,x-}{i}
140 = PrelBase.showString{-rif,p-} "Foo5"
141 showsPrec_a11b a_rWv Foo6{-re,x-}{i}
142 = PrelBase.showString{-rif,p-} "Foo6"
143 showsPrec_a11b a_rWx Foo7{-rg,x-}{i}
144 = PrelBase.showString{-rif,p-} "Foo7"
145 showsPrec_a11b a_rWz Foo8{-ri,x-}{i}
146 = PrelBase.showString{-rif,p-} "Foo8"
147 AbsBinds [] [] [([], showList_a13O, showList_a11o)]
148 showList_a11o = PrelBase.showList__{-r4x,p-}
149 Foo{-r4z,x-} showsPrec_a13M PrelBase.I#{-5b,w-}{i} 0#
150 d.Show_a117 = ({-dict-} [] [showsPrec_a13N, showList_a13O])
151 AbsBinds [] [] [([], $d6{-r13t,x-}, d.Ix_a11z)]
152 d.Show_a136 = $d5{-r13s,x-}
153 d.Ord_a137 = $d4{-r13r,x-}
154 inRange_a13P = inRange_a13S
155 AbsBinds [] [] [([], range_a13Q, range_a11D)]
156 range_a11D (a_rWH, b_rWI)
157 = case con2tag_Foo#_rUI a_rWH of
159 -> case con2tag_Foo#_rUI b_rWI of
161 -> map_a13u [PrelBase.Int{-3g,W-}, Foo{-r4z,x-}] tag2con_Foo#_rUG
162 enumFromTo_a13v PrelBase.I#{-5b,w-}{i} a#_rWK
163 PrelBase.I#{-5b,w-}{i} b#_rWM
164 AbsBinds [] [] [([], index_a13R, index_a12d)]
165 index_a12d (c_rWQ@(a_rWR, b_rWS)) d_rWT
166 = if inRange_a13P c_rWQ d_rWT then
167 case con2tag_Foo#_rUI a_rWR of
169 -> case con2tag_Foo#_rUI d_rWT of
171 -> case d#_rWX GHC.-#{-7E,w-}{I} a#_rWV of
172 c_rWZ -> PrelBase.I#{-5b,w-}{i} c_rWZ
175 PrelBase.Int{-3g,W-} "Ix.Foo.index: out of range\n"
176 AbsBinds [] [] [([], inRange_a13S, inRange_a12K)]
177 inRange_a12K (a_rX3, b_rX4) c_rX5
178 = case con2tag_Foo#_rUI a_rX3 of
180 -> case con2tag_Foo#_rUI b_rX4 of
182 -> case con2tag_Foo#_rUI c_rX5 of
184 -> if c#_rXb GHC.>=#{-78,w-}{I} a#_rX7 then
185 c#_rXb GHC.<=#{-7c,w-}{I} b#_rX9
187 PrelBase.False{-58,w-}{i}
190 [d.Show_a136, d.Ord_a137]
191 [range_a13Q, index_a13R, inRange_a13S])
192 d.Functor_a13i = PrelBase.$d26{-rc9,p-}
193 map_a13u = PrelBase.map{-rh9,p-} PrelBase.[]{-3j,W-} d.Functor_a13i
194 d.Enum_a13l = PrelBase.$d6{-rcJ,p-}
196 PrelBase.enumFromTo{-8W,p-} PrelBase.Int{-3g,W-} d.Enum_a13l
198 NOTE: Simplifier still going after 4 iterations; bailing out.
199 ghc: module version changed to 1; reason: no old .hi file
200 _interface_ ShouldSucceed 1
204 Ix 1 :: $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 Ix 1;
205 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;
206 PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d28 1 $d29 1 $d30 1 $d33 1 $d34 1 $d35 1 $d8 1;
207 PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
209 ShouldSucceed Bar(MkBar) Foo(Foo1 Foo2 Foo3 Foo4 Foo5 Foo6 Foo7 Foo8);
211 instance {PrelBase.Eq Foo} = $d1;
212 instance _forall_ [a b] => {PrelBase.Eval (Bar a b)} = $d2;
213 instance {PrelBase.Eval Foo} = $d3;
214 instance {PrelBase.Ord Foo} = $d4;
215 instance {PrelBase.Show Foo} = $d5;
216 instance {Ix.Ix Foo} = $d6;
218 1 $d1 _:_ {PrelBase.Eq Foo} ;;
219 1 $d2 _:_ _forall_ [a b] => {PrelBase.Eval (Bar a b)} ;;
220 1 $d3 _:_ {PrelBase.Eval Foo} ;;
221 1 $d4 _:_ {PrelBase.Ord Foo} ;;
222 1 $d5 _:_ {PrelBase.Show Foo} ;;
223 1 $d6 _:_ {Ix.Ix Foo} ;;
224 1 data Bar a b = MkBar a PrelBase.Int b PrelBase.Integer a ;
225 1 data Foo = Foo1 | Foo2 | Foo3 | Foo4 | Foo5 | Foo6 | Foo7 | Foo8 ;