40 meth1 :: a -> a -> Bool
41 ///// :: a -> a -> Bool
42 meth2 :: a -> b -> Bool
43 class Bar a => Bar2 a where
65 defm.Print002.Bar.meth1 =
66 (error) "No default method for \"Print002.Bar.defm.Print002.Bar.meth1\"\n"
67 defm.Print002.Bar.///// =
68 (error) "No default method for \"Print002.Bar.defm.Print002.Bar./////\"\n"
69 defm.Print002.Bar.meth2 =
70 (error) "No default method for \"Print002.Bar.defm.Print002.Bar.meth2\"\n"
71 sdsel.Print002.Bar2.Print002.Bar = d.Print002.Bar.t443
74 [d.Eq.t192, d.Eq.t193, d.Eq.t194]
75 [(d.Eq.t195, dfun.Eq.Print002.Foo)]
76 (d.Eq.t268, d.Eq.t192)
79 (d.Eq.t269, d.Eq.t194)
81 (d.Eq.t270, d.Eq.t193)
87 d.Eq.t195 = ({-dict-} [] [==, /=])
88 (==) :: Foo a b c -> Foo a b c -> Bool
89 (==) (MkFoo1 a1 a2) (MkFoo1 b1 b2)
90 = (a1 ==.t209 b1) && (a2 ==.t212 b2)
91 (==) (:## a1 a2) (:## b1 b2)
92 = (a1 ==.t226 b1) && (a2 ==.t229 b2)
93 (==) (MkFoo3 a1 a2) (MkFoo3 b1 b2)
94 = (a1 ==.t243 b1) && (a2 ==.t246 b2)
95 (==) (:*** a1 a2) (:*** b1 b2)
96 = (a1 ==.t260 b1) && (a2 ==.t263 b2)
101 [d.Ord.t275, d.Ord.t276, d.Ord.t277, d.Eq.t274]
102 [(d.Ord.t278, dfun.Ord.Print002.Foo)]
103 (d.Ord.t425, d.Ord.t278)
105 (cmp3.t295, cmp3.t290)
106 (cmp3.t300, cmp3.t290)
107 (cmp3.t305, cmp3.t290)
108 (d.Ord.t426, d.Ord.t425)
110 (cmp3.t315, cmp3.t310)
111 (d.Ord.t422, d.Ord.t275)
112 (d.Ord.t423, d.Ord.t276)
113 (d.Ord.t424, d.Ord.t277)
114 d.Ord.t278 = ({-dict-} [d.Eq.t274] [<, <=, >=, >, max, min, cmp3])
115 (<) :: Foo a b c -> Foo a b c -> Bool
116 (<) a b = cmp3.t290 True False False a b
117 (<=) :: Foo a b c -> Foo a b c -> Bool
118 (<=) a b = cmp3.t295 True True False a b
119 (>=) :: Foo a b c -> Foo a b c -> Bool
120 (>=) a b = cmp3.t300 False True True a b
121 (>) :: Foo a b c -> Foo a b c -> Bool
122 (>) a b = cmp3.t305 False False True a b
123 max :: Foo a b c -> Foo a b c -> Foo a b c
124 max a b = cmp3.t310 b a a a b
125 min :: Foo a b c -> Foo a b c -> Foo a b c
126 min a b = cmp3.t315 a a b a b
129 AbsBinds [tt316] [] [(cmp3, cmp3)]
130 cmp3 :: tt316 -> tt316 -> tt316 -> Foo a b c -> Foo a b c -> tt316
132 = case (con2tag.Foo) a of
133 a# -> case (con2tag.Foo) b of
134 b# -> if a# `eqInt` b# then
135 if a# `ltInt` b# then
140 cmp3eq.t48.t419 lt eq gt a b
144 [d.Ord.t402, d.Ord.t404, d.Ord.t403]
147 (cmp3.t341, cmp3.t344)
150 (cmp3.t382, cmp3.t360)
151 (cmp3.t379, cmp3.t360)
152 (cmp3.t401, cmp3.t363)
153 (cmp3.t398, cmp3.t363)
158 -> Foo a b c -> Foo a b c -> tt400
160 lt eq gt (MkFoo1 a1 a2) (MkFoo1 b1 b2)
163 (cmp3.t344 lt eq gt a2 b2)
168 lt eq gt (:## a1 a2) (:## b1 b2)
171 (cmp3.t363 lt eq gt a2 b2)
176 lt eq gt (MkFoo3 a1 a2) (MkFoo3 b1 b2)
179 (cmp3.t382 lt eq gt a2 b2)
184 lt eq gt (:*** a1 a2) (:*** b1 b2)
187 (cmp3.t401 lt eq gt a2 b2)
191 cmp3eq.t48.t419 = cmp3eq
193 AbsBinds [a, b, c] [] [(f1, f1)]
194 f1 :: a -> a -> Foo a b c
195 f1 x y = (MkFoo1) x y
196 AbsBinds [a, b, c] [] [(f1a, f1a)]
197 f1a :: a -> a -> Foo a b c
198 f1a x y = (MkFoo1) x y
199 AbsBinds [a, b, c] [] [(f2, f2)]
200 f2 :: b -> c -> Foo a b c
202 AbsBinds [a, b, c] [] [(f2a, f2a)]
203 f2a :: b -> c -> Foo a b c
204 f2a x y = ((:##)) x y
205 AbsBinds [a, b, c] [] [(...., ....)]
206 (....) :: b -> b -> Foo a b c
209 AbsBinds [a, b, c] [] [(....., .....)]
210 (.....) :: b -> b -> Foo a b c
213 AbsBinds [a, b, c] [] [(<<<<, <<<<)]
214 (<<<<) :: c -> c -> Foo a b c
219 AbsBinds [a] [d.Print002.Bar.t143] [(f3a, f3a)]
220 (Print002.Bar.meth1.t142, meth1)
221 f3a :: a -> a -> Bool
222 f3a x y = Print002.Bar.meth1.t142 x y
223 AbsBinds [a] [d.Print002.Bar.t151] [(f3b, f3b)]
224 (Print002.Bar.meth1.t149, meth1)
225 f3b :: a -> a -> Bool
226 f3b x y = x `Print002.Bar.meth1.t149` y
227 AbsBinds [a] [d.Print002.Bar.t158] [(f3c, f3c)]
228 (Print002.Bar./////.t157, (/////))
229 f3c :: a -> a -> Bool
230 f3c x y = Print002.Bar./////.t157 x y
231 AbsBinds [a] [d.Print002.Bar.t166] [(f3d, f3d)]
232 (Print002.Bar./////.t164, (/////))
233 f3d :: a -> a -> Bool
234 f3d x y = x `Print002.Bar./////.t164` y
235 AbsBinds [a, b, c] [] [(con2tag.Foo, con2tag.Foo)]
236 con2tag.Foo :: Foo a b c -> IntPrim
250 =-=-=-=-=INTERFACE STARTS HERE=-=-=-=-= Print002
251 interface Print002 where
252 (....) :: b -> b -> Foo a b c {-# ARITY _ = 2 #-}
253 (.....) :: b -> b -> Foo a b c {-# ARITY _ = 2 #-}
254 (<<<<) :: c -> c -> Foo a b c {-# ARITY _ = 2 #-}
255 f1 :: a -> a -> Foo a b c {-# ARITY _ = 2 #-}
256 f1a :: a -> a -> Foo a b c {-# ARITY _ = 2 #-}
257 f2 :: b -> c -> Foo a b c {-# ARITY _ = 2 #-}
258 f2a :: b -> c -> Foo a b c {-# ARITY _ = 2 #-}
259 f3a :: Bar a => a -> a -> Bool {-# ARITY _ = 1 #-}
260 f3b :: Bar a => a -> a -> Bool {-# ARITY _ = 1 #-}
261 f3c :: Bar a => a -> a -> Bool {-# ARITY _ = 1 #-}
262 f3d :: Bar a => a -> a -> Bool {-# ARITY _ = 1 #-}
264 meth1 :: a -> a -> Bool
265 (/////) :: a -> a -> Bool
266 meth2 :: a -> b -> Bool
267 class (Bar a) => Bar2 a
268 data Foo a b c = MkFoo1 a a | (:##) b c | MkFoo3 b b | (:***) c c
269 instance (Eq a, Eq b, Eq c) => Eq (Foo a b c)
270 instance (Ord a, Ord b, Ord c) => Ord (Foo a b c)
271 =-=-=-=-=INTERFACE STOPS HERE=-=-=-=-=