[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / compiler / tests / typecheck / should_succeed / tc079.stderr
1 Typechecked:
2 {- nonrec -}
3 Main.Foo.op1 = /\ a.t7 -> \{-classdict-} [] [op1.t8 op2.t9] -> op1.t8
4 Main.Foo.op2 =
5     /\ a.t7 b.t10 -> \{-classdict-} [] [op1.t8 op2.t9] -> op2.t9 b.t10
6 {- nonrec -}
7 defm.Main.Foo.op1 =
8     let
9       AbsBinds [a.t11] [d.Main.Foo.t12] [(op1.t13, op1.t14)]
10           {- nonrec -}
11           op1.t13 :: a.t11 -> Bool
12           op1.t13
13               x.r11 = True
14     in op1.t14
15 defm.Main.Foo.op2 =
16     let
17       AbsBinds [a.t16, b.t17] [d.Main.Foo.t18, d.Ord.t19] [(op2.t20, op2.t21)]
18           (d.Ord.t31, d.Ord.t19)
19           (<.t28, (<) b.t17 d.Ord.t31)
20           (d.Main.Foo.t32, d.Main.Foo.t18)
21           (Main.Foo.op1.t26, Main.Foo.op1 a.t16 d.Main.Foo.t32)
22           {- nonrec -}
23           op2.t20 :: a.t16 -> b.t17 -> b.t17 -> b.t17
24           op2.t20
25               x.r12 y.r13 z.r14
26                       = if (Main.Foo.op1.t26 x.r12) && (y.r13 <.t28 z.r14) then
27                             y.r13
28                         else
29                             z.r14
30     in op2.t21
31 {- rec -}
32 dfun.Main.Foo.Int =
33     ({-dict-} [] [const.Main.Foo.Int.op1, const.Main.Foo.Int.op2])
34 const.Main.Foo.Int.op1 = defm.Main.Foo.op1 Int dfun.Main.Foo.Int
35 const.Main.Foo.Int.op2 =
36     /\ b.t0 -> defm.Main.Foo.op2 [Int, b.t0] dfun.Main.Foo.Int
37 AbsBinds [a.t1] [d.Main.Foo.t2] [(d.Main.Foo.t3, dfun.Main.Foo.List)]
38     {- rec -}
39     d.Main.Foo.t3 = ({-dict-} [] [op1.t4, op2.t5])
40     op1.t4 = defm.Main.Foo.op1 [a.t1] d.Main.Foo.t3
41     op2.t5 = /\ b.t6 -> defm.Main.Foo.op2 [[a.t1], b.t6] d.Main.Foo.t3
42