+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Foo.o_and = /\ a.t39 -> \{-classdict-} [] [o_and.t40] -> o_and.t40
+o_and{-r3P,x-} =
+ _/\_ a{-r3M-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.Foo.o_and =
- /\ a.t41 ->
- \{-dict-} d.ShouldSucceed.Foo.t42 ->
- (error (a.t41 -> a.t41 -> a.t41))
- "No default method for \"ShouldSucceed.Foo.defm.ShouldSucceed.Foo.o_and\"\n"
+AbsBinds
+[a{-aIR-}]
+[d.Foo_aIK]
+[([a{-aIR-}], $mo_and{-rHn,x-}, o_and_aIM)]
+ AbsBinds [] [] [([], o_and_aIM, o_and_aIO)]
+ o_and_aIO
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aIR-} -> a{-aIR-} -> a{-aIR-}) "Class Foo Method o_and"
{- rec -}
-dfun.ShouldSucceed.Foo.Bool = ({-dict-} [] [const.ShouldSucceed.Foo.Bool.o_and])
-const.ShouldSucceed.Foo.Bool.o_and :: Bool -> Bool -> Bool
-const.ShouldSucceed.Foo.Bool.o_and
- False x.r30
- = False
-const.ShouldSucceed.Foo.Bool.o_and
- x.r31 False
- = False
-const.ShouldSucceed.Foo.Bool.o_and
- True True
- = True
+AbsBinds [] [] [([], $d1{-rJ9,x-}, d.Foo_aI0)]
+ AbsBinds [] [] [([], o_and_aJa, o_and_aI3)]
+ lit_aJi =
+ lit_aJ7
+ lit_aJh =
+ lit_aJ7
+ ==_aJg =
+ ==_aJ6
+ lit_aJf =
+ lit_aJ7
+ ==_aJe =
+ ==_aJ6
+ lit_aJd =
+ lit_aJ4
+ ==_aJc =
+ ==_aJ6
+ lit_aJb =
+ lit_aJ4
+ o_and_aI3
+ x_r3r 0 = lit_aJi
+ o_and_aI3
+ 0 x_r3v = lit_aJf
+ o_and_aI3
+ 1 1 = lit_aJb
+ d.Foo_aI0 =
+ ({-dict-} [] [o_and_aJa])
{- rec -}
-dfun.ShouldSucceed.Foo.Int = ({-dict-} [] [const.ShouldSucceed.Foo.Int.o_and])
-const.ShouldSucceed.Foo.Int.o_and :: Int -> Int -> Int
-const.ShouldSucceed.Foo.Int.o_and
- x.r32 0 = lit.t24
-const.ShouldSucceed.Foo.Int.o_and
- 0 x.r33 = lit.t30
-const.ShouldSucceed.Foo.Int.o_and
- 1 1 = lit.t38
-lit.t21 = MkInt 0#
-(==.t22) = eqInt
-lit.t24 = lit.t21
-lit.t26 = lit.t21
-(==.t27) = (==.t22)
-lit.t30 = lit.t21
-lit.t32 = MkInt 1#
-(==.t33) = (==.t22)
-lit.t35 = lit.t32
-(==.t36) = (==.t22)
-lit.t38 = lit.t32
-AbsBinds [ot3] [] [(f.t1, ShouldSucceed.f)]
- (ShouldSucceed.Foo.o_and.t5, const.ShouldSucceed.Foo.Bool.o_and)
- {- nonrec -}
- f.t1 :: Bool -> ot3 -> Bool
- f.t1 x.r61 y.r62
- = ShouldSucceed.Foo.o_and.t5 x.r61 False
+AbsBinds [] [] [([], $d2{-rJj,x-}, d.Foo_aIB)]
+ AbsBinds [] [] [([], o_and_aJk, o_and_aIE)]
+ o_and_aIE
+ PrelBase.False{-58,p-}{i} x_r3E
+ = PrelBase.False{-58,p-}{i}
+ o_and_aIE
+ x_r3G PrelBase.False{-58,p-}{i}
+ = PrelBase.False{-58,p-}{i}
+ o_and_aIE
+ PrelBase.True{-5E,p-}{i} PrelBase.True{-5E,p-}{i}
+ = PrelBase.True{-5E,p-}{i}
+ d.Foo_aIB =
+ ({-dict-} [] [o_and_aJk])
+{- nonrec -}
+d.Num_aIV =
+ PrelBase.$d3{-rbG,p-}
+fromInt_aJ8 =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aIV
+lit_aJ7 =
+ fromInt_aJ8 PrelBase.I#{-5b,p-}{i} 0#
+d.Eq_aIY =
+ PrelBase.$d7{-rcc,p-}
+==_aJ6 =
+ PrelBase.=={-8Y,p-}
+ PrelBase.Int{-3g,p-}
+ d.Eq_aIY
+fromInt_aJ5 =
+ fromInt_aJ8
+lit_aJ4 =
+ fromInt_aJ5 PrelBase.I#{-5b,p-}{i} 1#
+d.Foo_aJ2 =
+ $d2{-rJj,x-}
+o_and_aJ3 =
+ o_and{-r3P,x-}
+ PrelBase.Bool{-34,p-}
+ d.Foo_aJ2
+{- nonrec -}
AbsBinds
-[ot9, a.t10]
-[d.Num.t15, d.ShouldSucceed.Foo.t16]
-[(g.t7, ShouldSucceed.g)]
- (fromInt.t14, fromInt a.t10 d.Num.t15)
- (lit.t13, fromInt.t14 (MkInt 1#))
- (ShouldSucceed.Foo.o_and.t11,
- ShouldSucceed.Foo.o_and a.t10 d.ShouldSucceed.Foo.t16)
- {- nonrec -}
- g.t7 :: a.t10 -> ot9 -> a.t10
- g.t7 x.r63 y.r64
- = ShouldSucceed.Foo.o_and.t11 x.r63 lit.t13
-
+[t{-aHw-}, t{-aHB-}]
+[d.Foo_aHD, d.Num_aHG]
+[([t{-aHw-}, t{-aHB-}], g{-r3N,x-}, g_aHm)]
+ o_and_aJn =
+ o_and{-r3P,x-}
+ t{-aHw-}
+ d.Foo_aHD
+ fromInt_aJm =
+ PrelBase.fromInt{-8R,p-}
+ t{-aHw-}
+ d.Num_aHG
+ lit_aJl =
+ fromInt_aJm PrelBase.I#{-5b,p-}{i} 1#
+ g_aHm
+ x_r3k y_r3m
+ = o_and_aJn x_r3k lit_aJl
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-aHT-}] [] [([t{-aHT-}], f{-r3O,x-}, f_aHI)]
+ f_aHI
+ x_r3g y_r3i
+ = o_and_aJ3 x_r3g PrelBase.False{-58,p-}{i}
+{- nonrec -}
+tc050.hs:14:
+ Warning: Possibly incomplete patterns
+ in the definition of function `o_and'
+tc050.hs:8:
+ Warning: Possibly incomplete patterns
+ in the definition of function `o_and'
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d1 1 $d11 1 $d15 1 $d2 1 $d21 1 $d27 1 $d3 1 $d32 1 $d33 1 $d37 1 $d38 1 $d39 1 $d41 1 $d42 1 $d44 1 $d46 1 $d54 1 $d7 1 $d8 1 Eq 1 Eval 1 Num 1 Show 1 String 1;
+PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
+_exports_
+ShouldSucceed f g Foo(o_and);
+_instances_
+instance {Foo PrelBase.Int} = $d1;
+instance {Foo PrelBase.Bool} = $d2;
+_declarations_
+1 $d1 _:_ {Foo PrelBase.Int} ;;
+1 $d2 _:_ {Foo PrelBase.Bool} ;;
+1 $mo_and _:_ _forall_ [a] {Foo a} => a -> a -> a ;;
+1 class Foo r3M where {o_and :: r3M -> r3M -> r3M} ;
+1 f _:_ _forall_ [a] => PrelBase.Bool -> a -> PrelBase.Bool ;;
+1 g _:_ _forall_ [a b] {Foo a, PrelBase.Num a} => a -> b -> a ;;