-interface ClassFoo where
-class Foo a where
- op1 :: a -> Int
- op2 :: a -> a -> Int {-# ARITY op2 = 3 #-}{-# UPDATE op2 = 000 #-} {-# ARITY op1 = 1 #-}{-# UPDATE op1 = 0 #-}
+_interface_ ClassFoo 1
+_exports_
+ClassFoo Foo(op1 op2);
+_declarations_
+1 class Foo a where { op1 :: a -> PrelBase.Int; op2 :: a -> a -> PrelBase.Int} ;
-TOP = ../../../../..
-GhcRunTestRules = YES
-# These options apply to all tests
-RUNSTDTEST_OPTS = -noC -ddump-tc -dcore-lint -hi
-include $(TOP)/ghc/mk/ghc.mk
+TOP = ../../../..
+include $(TOP)/mk/boilerplate.mk
+
+HS_SRCS = $(wildcard *.hs)
+
+SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 0
+HC_OPTS += -noC -ddump-tc -dcore-lint -hi
+
+tc075_RUNTEST_OPTS += -x 1
+tc080_RUNTEST_OPTS += -x 1
+
+%.o : %.hs
+
+%.o : %.hs
+ $(RUNTEST) $(HC) $(RUNTEST_OPTS) -- $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@))
+
+all :: $(HS_OBJS)
+
+tc019_HC_OPTS = -fglasgow-exts
+tc065_HC_OPTS = -syslib ghc
+
+include $(TOP)/mk/target.mk
-runtests :: $(patsubst %.hs, %.runtest, $(wildcard *.hs))
-tc019_flags = -fglasgow-exts
-interface TheUtils where
-import Maybes(Labda)
-import Pretty(PrettyRep)
-let_1_0 :: a -> (a -> b) -> b {-# ARITY let_1_0 = 2 #-}{-# STRICTNESS let_1_0 = "T,F" ST #-}
-assoc :: (Eq a) => a -> [(a, b)] -> String -> b {-# ARITY assoc = 4 #-}{-# STRICTNESS assoc = "2,F" ST #-}
-assocWithDefault :: (Eq a) => [(a, b)] -> b -> a -> (b, Bool) {-# ARITY assocWithDefault = 4 #-}{-# STRICTNESS assocWithDefault = "1,F" ST #-}
-cfst :: a -> b -> a {-# ARITY cfst = 2 #-}{-# STRICTNESS cfst = "0,0" ST #-}
-hasNoDups :: (Eq a) => [a] -> Bool {-# ARITY hasNoDups = 2 #-}{-# STRICTNESS hasNoDups = "1,F" ST #-}
-mapAccumL :: (a -> b -> (a, c)) -> a -> [b] -> (a, [c]) {-# ARITY mapAccumL = 3 #-}{-# STRICTNESS mapAccumL = "2,F" ST #-}
-mapAccumR :: (a -> b -> (a, c)) -> a -> [b] -> (a, [c]) {-# ARITY mapAccumR = 3 #-}{-# STRICTNESS mapAccumR = "2,F" ST #-}
-map2 :: (a -> b -> c) -> [a] -> [b] -> [c] {-# ARITY map2 = 3 #-}{-# STRICTNESS map2 = "1,F" ST #-}
-map3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d] {-# ARITY map3 = 4 #-}{-# STRICTNESS map3 = "1,F" ST #-}
-applyToPair :: (a -> b, c -> d) -> (a, c) -> (b, d) {-# ARITY applyToPair = 2 #-}{-# STRICTNESS applyToPair = "0&1,F" ST #-}
-applyToFst :: (a -> b) -> (a, c) -> (b, c) {-# ARITY applyToFst = 2 #-}{-# STRICTNESS applyToFst = "1,F" ST #-}
-applyToSnd :: (a -> b) -> (c, a) -> (c, b) {-# ARITY applyToSnd = 2 #-}{-# STRICTNESS applyToSnd = "1,F" ST #-}
-foldPair :: (a -> a -> a, b -> b -> b) -> (a, b) -> [(a, b)] -> (a, b) {-# ARITY foldPair = 3 #-}{-# STRICTNESS foldPair = "(0|1)&2,F" ST #-}
-clookup :: (Eq a) => [a] -> [b] -> a -> b {-# ARITY clookup = 1 #-}{-# STRICTNESS clookup = "T,F" ST #-}
-clookupElse :: (Eq b) => a -> [b] -> [a] -> b -> a {-# ARITY clookupElse = 5 #-}{-# STRICTNESS clookupElse = "2,F" ST #-}
-clookrepl :: (Eq a) => [a] -> [b] -> a -> (b -> b) -> [b] {-# ARITY clookrepl = 5 #-}{-# STRICTNESS clookrepl = "1,F" ST #-}
-forall :: (a -> Bool) -> [a] -> Bool {-# ARITY forall = 2 #-}{-# STRICTNESS forall = "1,F" ST #-}
-exists :: (a -> Bool) -> [a] -> Bool {-# ARITY exists = 2 #-}{-# STRICTNESS exists = "1,F" ST #-}
-elemIndex :: (Eq a) => [a] -> a -> Int {-# ARITY elemIndex = 3 #-}{-# STRICTNESS elemIndex = "1,F" ST #-}
-(\\\) :: (Eq a) => [a] -> [a] -> [a] {-# ARITY (\\\) = 1 #-}{-# STRICTNESS (\\\) = "T,F" ST #-}
-nOfThem :: Int -> a -> [a] {-# ARITY nOfThem = 2 #-}{-# STRICTNESS nOfThem = "T,F" ST #-}
-panic :: [Char] -> a {-# ARITY panic = 1 #-}{-# STRICTNESS panic = "T,F" ST #-}
-pprPanic :: (Int -> Bool -> PrettyRep) -> a {-# ARITY pprPanic = 1 #-}{-# STRICTNESS pprPanic = "T,F" ST #-}
-quicksort :: (a -> a -> Bool) -> [a] -> [a] {-# ARITY quicksort = 2 #-}{-# STRICTNESS quicksort = "1,F" ST #-}
-runs :: (a -> a -> Bool) -> [a] -> [[a]] {-# ARITY runs = 2 #-}{-# STRICTNESS runs = "1,F" ST #-}
-intLength :: [a] -> Int {-# ARITY intLength = 1 #-}{-# STRICTNESS intLength = "0,F" ST #-}
-lengthExceeds :: [a] -> Int -> Bool {-# ARITY lengthExceeds = 2 #-}{-# STRICTNESS lengthExceeds = "0&1,F" ST #-}
-
-data Labda a
-data PrettyRep
+_interface_ TheUtils 2
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d1 1 $d11 1 $d14 1 $d15 1 $d16 1 $d17 1 $d18 1 $d19 1 $d2 1 $d21 1 $d22 1 $d23 1 $d24 1 $d25 1 $d26 1 $d27 1 $d3 1 $d32 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d41 1 $d42 1 $d44 1 $d45 1 $d46 1 $d48 1 $d49 1 $d50 1 $d51 1 $d53 1 $d54 1 $d55 1 $d57 1 $d6 1 $d7 1 $d8 1 $m* 1 $m+ 1 $m++ 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m== 1 $m> 1 $m>= 1 $m>> 1 $m>>= 1 $mabs 1 $mcompare 1 $mfromInt 1 $mfromInteger 1 $mmap 1 $mmax 1 $mmin 1 $mnegate 1 $mreturn 1 $mshowList 1 $mshowsPrec 1 $msignum 1 $mzero 1 && 1 . 1 not 1 otherwise 1 show 1 || 1 Eq 1 Eval 1 Functor 1 Maybe 1 Monad 1 MonadPlus 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 String 1;
+PrelList 1 :: repeat 1 reverse 1 span 1 take 1;
+PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1;
+PrelTup 1 :: $d10 1 $d13 1 $d14 1 $d3 1 $d4 1 $d49 1 $d50 1 $d9 1;
+Pretty 1 :: $d1 1 $d2 1 hsep 1 int 1 sep 1 text 1 Doc 1;
+_exports_
+TheUtils appEager assertPanic assertPprPanic assoc assocDefault assocDefaultUsing assocUsing cmpList cmpPString endsWith equivClasses hasNoDups isIn isSingleton isn'tIn lengthExceeds mapAccumB mapAccumL mapAccumR mapAndUnzip mapAndUnzip3 mapEager nOfThem naturalMergeSortLe panic panic# pprError pprPanic pprPanic# pprTrace removeDups returnEager runEager runs sortLt startsWith thenCmp thenEager transitiveClosure unzipWith zipEqual zipLazy zipWith3Equal zipWith4Equal zipWithEqual Eager Ord3(cmp);
+_fixities_
+infixr 9 thenCmp;
+_instances_
+instance {Ord3 PrelBase.Int} = $d1;
+instance _forall_ [a] {Ord3 a} => {Ord3 (PrelBase.Maybe a)} = $d2;
+instance _forall_ [a] {Ord3 a} => {Ord3 [a]} = $d3;
+_declarations_
+2 $d1 _:_ {Ord3 PrelBase.Int} ;;
+1 $d2 _:_ _forall_ [a] {Ord3 a} => {Ord3 (PrelBase.Maybe a)} ;;
+1 $d3 _:_ _forall_ [a] {Ord3 a} => {Ord3 [a]} ;;
+1 $mcmp _:_ _forall_ [a] {Ord3 a} => a -> a -> GHC.Int# ;;
+2 type Eager rvB rvC = (rvC -> rvB) -> rvB ;
+2 class Ord3 rvx where {cmp :: rvx -> rvx -> GHC.Int#} ;
+1 appEager _:_ _forall_ [a b] => Eager b a -> (a -> b) -> b ;;
+1 assertPanic _:_ _forall_ [a] => PrelBase.String -> PrelBase.Int -> a ;;
+2 assertPprPanic _:_ _forall_ [a] => PrelBase.String -> PrelBase.Int -> Pretty.Doc -> a ;;
+1 assoc _:_ _forall_ [a b] {PrelBase.Eq a} => PrelBase.String -> [(a, b)] -> a -> b ;;
+1 assocDefault _:_ _forall_ [a b] {PrelBase.Eq a} => b -> [(a, b)] -> a -> b ;;
+1 assocDefaultUsing _:_ _forall_ [a b] => (a -> a -> PrelBase.Bool) -> b -> [(a, b)] -> a -> b ;;
+1 assocUsing _:_ _forall_ [a b] => (a -> a -> PrelBase.Bool) -> PrelBase.String -> [(a, b)] -> a -> b ;;
+1 cmpList _:_ _forall_ [a] => (a -> a -> GHC.Int#) -> [a] -> [a] -> GHC.Int# ;;
+1 endsWith _:_ PrelBase.String -> PrelBase.String -> PrelBase.Maybe PrelBase.String ;;
+1 equivClasses _:_ _forall_ [a] => (a -> a -> GHC.Int#) -> [a] -> [[a]] ;;
+1 hasNoDups _:_ _forall_ [a] {PrelBase.Eq a} => [a] -> PrelBase.Bool ;;
+1 isIn _:_ _forall_ [a] {PrelBase.Eq a} => PrelBase.String -> a -> [a] -> PrelBase.Bool ;;
+1 isSingleton _:_ _forall_ [a] => [a] -> PrelBase.Bool ;;
+1 isn'tIn _:_ _forall_ [a] {PrelBase.Eq a} => PrelBase.String -> a -> [a] -> PrelBase.Bool ;;
+1 lengthExceeds _:_ _forall_ [a] => [a] -> PrelBase.Int -> PrelBase.Bool ;;
+1 mapAccumB _:_ _forall_ [a b c d] => (b -> c -> a -> (b, c, d)) -> b -> c -> [a] -> (b, c, [d]) ;;
+1 mapAccumL _:_ _forall_ [a b c] => (b -> a -> (b, c)) -> b -> [a] -> (b, [c]) ;;
+1 mapAccumR _:_ _forall_ [a b c] => (b -> a -> (b, c)) -> b -> [a] -> (b, [c]) ;;
+1 mapAndUnzip _:_ _forall_ [a b c] => (a -> (b, c)) -> [a] -> ([b], [c]) ;;
+1 mapAndUnzip3 _:_ _forall_ [a b c d] => (a -> (b, c, d)) -> [a] -> ([b], [c], [d]) ;;
+1 mapEager _:_ _forall_ [a b c] => (a -> (c -> b) -> b) -> [a] -> ([c] -> b) -> b ;;
+1 nOfThem _:_ _forall_ [a] => PrelBase.Int -> a -> [a] ;;
+1 naturalMergeSortLe _:_ _forall_ [a] => (a -> a -> PrelBase.Bool) -> [a] -> [a] ;;
+1 panic _:_ _forall_ [a] => [PrelBase.Char] -> a ;;
+1 panic# _:_ PrelBase.String -> GHC.Int# ;;
+1 pprError _:_ _forall_ [a b] {PrelBase.Show a} => [PrelBase.Char] -> a -> b ;;
+1 pprPanic _:_ _forall_ [a b] {PrelBase.Show a} => [PrelBase.Char] -> a -> b ;;
+1 pprPanic# _:_ _forall_ [a] {PrelBase.Show a} => [PrelBase.Char] -> a -> GHC.Int# ;;
+1 pprTrace _:_ _forall_ [a b] {PrelBase.Show a} => [PrelBase.Char] -> a -> b -> b ;;
+1 removeDups _:_ _forall_ [a] => (a -> a -> GHC.Int#) -> [a] -> ([a], [[a]]) ;;
+1 returnEager _:_ _forall_ [a b] => b -> (b -> a) -> a ;;
+1 runEager _:_ _forall_ [a] => Eager a a -> a ;;
+1 runs _:_ _forall_ [a] => (a -> a -> PrelBase.Bool) -> [a] -> [[a]] ;;
+1 sortLt _:_ _forall_ [a] => (a -> a -> PrelBase.Bool) -> [a] -> [a] ;;
+1 startsWith _:_ PrelBase.String -> PrelBase.String -> PrelBase.Maybe PrelBase.String ;;
+1 thenCmp _:_ GHC.Int# -> GHC.Int# -> GHC.Int# ;;
+1 thenEager _:_ _forall_ [a b c] => Eager b a -> (a -> (c -> b) -> b) -> (c -> b) -> b ;;
+1 transitiveClosure _:_ _forall_ [a] => (a -> [a]) -> (a -> a -> PrelBase.Bool) -> [a] -> [a] ;;
+1 unzipWith _:_ _forall_ [a b c] => (a -> b -> c) -> [(a, b)] -> [c] ;;
+1 zipEqual _:_ _forall_ [a b] => PrelBase.String -> [a] -> [b] -> [(a, b)] ;;
+1 zipLazy _:_ _forall_ [a b] => [a] -> [b] -> [(a, b)] ;;
+1 zipWith3Equal _:_ _forall_ [a b c d] => PrelBase.String -> (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d] ;;
+1 zipWith4Equal _:_ _forall_ [a b c d e] => PrelBase.String -> (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e] ;;
+1 zipWithEqual _:_ _forall_ [a b c] => PrelBase.String -> (a -> b -> c) -> [a] -> [b] -> [c] ;;
-Typechecked:
-AbsBinds [tt12] [d.Num.t16] [(a.t1, ShouldSucceed.a)]
- (fromInt.t15, fromInt tt12 d.Num.t16)
- (lit.t8, fromInt.t15 (MkInt 3#))
- (d.Num.t17, d.Num.t16)
- (+.t6, (+) tt12 d.Num.t17)
- (fromInt.t18, fromInt.t15)
- (lit.t13, fromInt.t18 (MkInt 2#))
- (+.t11, (+.t6))
- {- nonrec -}
- a.t1 :: tt12 -> tt12
- a.t1 x.r54 = y.r55 +.t11 lit.t13
- where
- AbsBinds [] [] [(y.t4, y.r55)]
- {- nonrec -}
- y.t4 :: tt12
- y.t4 = x.r54 +.t6 lit.t8
- {- nonrec -}
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-aGZ-}] [d.Num_aH2] [([t{-aGZ-}], a{-r3h,x-}, a_aGG)]
+ +_aHc =
+ PrelBase.+{-r3g,p-}
+ t{-aGZ-}
+ d.Num_aH2
+ d.Num_aH5 =
+ d.Num_aH2
+ fromInt_aHb =
+ PrelBase.fromInt{-8R,p-}
+ t{-aGZ-}
+ d.Num_aH5
+ lit_aHa =
+ fromInt_aHb PrelBase.I#{-5b,p-}{i} 2#
+ +_aH9 =
+ +_aHc
+ fromInt_aH8 =
+ fromInt_aHb
+ lit_aH6 =
+ fromInt_aH8 PrelBase.I#{-5b,p-}{i} 3#
+ a_aGG
+ x_r3d = y_r3f +_aHc lit_aHa
+ where
+ {- nonrec -}
+ AbsBinds [] [] [([], y_r3f, y_aGK)]
+ y_aGK
+ = x_r3d +_aH9 lit_aH6
+ {- nonrec -}
+{- nonrec -}
+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 a;
+_declarations_
+1 a _:_ _forall_ [a] {PrelBase.Num a} => a -> a ;;
-Typechecked:
-d.Num.t7 = dfun.Num.Integer
-fromInt.t6 = fromInt tt4 d.Num.t7
-lit.t5 = fromInt.t6 (MkInt 2#)
-fromInt.t8 = fromInt.t6
-lit.t3 = fromInt.t8 (MkInt 1#)
-AbsBinds [] [] [(b.t1, Main.b)]
- {- nonrec -}
- b.t1 :: tt4
- b.t1 = if True then lit.t3 else lit.t5
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+d.Num_aGV =
+ PrelBase.$d3{-rb0,p-}
+fromInt_aGW =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aGV
+lit_aH1 =
+ fromInt_aGW PrelBase.I#{-5b,p-}{i} 1#
+fromInt_aH0 =
+ fromInt_aGW
+lit_aGX =
+ fromInt_aH0 PrelBase.I#{-5b,p-}{i} 2#
+{- nonrec -}
+AbsBinds [] [] [([], b{-r1,x-}, b_aGC)]
+ b_aGC
+ = if PrelBase.True{-5E,p-}{i} then lit_aH1 else lit_aGX
+{- nonrec -}
+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 b;
+_declarations_
+1 b _:_ PrelBase.Int ;;
+
+
+--================================================================================
Typechecked:
-d.Num.t19 = dfun.Num.Integer
-d.Num.t17 = dfun.Num.Integer
-fromInt.t16 = fromInt tt14 d.Num.t17
-lit.t15 = fromInt.t16 (MkInt 3#)
-fromInt.t18 = fromInt tt12 d.Num.t19
-lit.t13 = fromInt.t18 (MkInt 1#)
-fromInt.t20 = fromInt.t16
-lit.t11 = fromInt.t20 (MkInt 2#)
-lit.t9 = lit.t13
+{- nonrec -}
+d.Num_aWN =
+ PrelBase.$d3{-rb4,p-}
+fromInt_aWO =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aWN
+lit_aWW =
+ fromInt_aWO PrelBase.I#{-5b,p-}{i} 1#
+fromInt_aWV =
+ fromInt_aWO
+lit_aWU =
+ fromInt_aWV PrelBase.I#{-5b,p-}{i} 2#
+fromInt_aWT =
+ fromInt_aWO
+lit_aWP =
+ fromInt_aWT PrelBase.I#{-5b,p-}{i} 3#
+{- nonrec -}
AbsBinds
[]
[]
-[(c.t3, ShouldSucceed.c), (d.t4, ShouldSucceed.d), (e.t5, ShouldSucceed.e)]
- {- nonrec -}
- (c.t3@(d.t4, e.t5)) :: (tt12, tt14)
- (c.t3@(d.t4, e.t5)) = if True then (lit.t9, lit.t11) else (lit.t13, lit.t15)
-
-=-=-=-=-=INTERFACE STARTS HERE=-=-=-=-= ShouldSucceed
-interface ShouldSucceed where
-c :: (tt12, tt14) {-# ARITY _ = 0 #-}
-d :: tt12 {-# ARITY _ = 0 #-}
-e :: tt14 {-# ARITY _ = 0 #-}
-=-=-=-=-=INTERFACE STOPS HERE=-=-=-=-=
-
+[([], c{-r5,x-}, c_aW8), ([], d{-r4,x-}, d_aW9), ([],
+ e{-r3,x-},
+ e_aWa)]
+ lit_aWX =
+ lit_aWW
+ (c_aW8@(d_aW9, e_aWa))
+ = if PrelBase.True{-5E,p-}{i} then
+ (lit_aWW, lit_aWU)
+ else
+ (lit_aWX, lit_aWP)
+{- nonrec -}
+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;
+PrelTup 1 :: $d13 1 $d4 1 $d9 1;
+_exports_
+ShouldSucceed c d e;
+_declarations_
+1 c _:_ (PrelBase.Int, PrelBase.Int) ;;
+1 d _:_ PrelBase.Int ;;
+1 e _:_ PrelBase.Int ;;
-Typechecked:
-AbsBinds [] [] [(f.t1, ShouldSucceed.f)]
- {- nonrec -}
- f.t1 :: Bool -> Bool
- f.t1 x.r54 = case x.r54 of
- True -> True
- False -> x.r54
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], f{-r3e,x-}, f_an4)]
+ f_an4
+ x_r3d = case x_r3d of
+ PrelBase.True{-5E,p-}{i}
+ -> PrelBase.True{-5E,p-}{i}
+ PrelBase.False{-58,p-}{i}
+ -> x_r3d
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed f;
+_declarations_
+1 f _:_ PrelBase.Bool -> PrelBase.Bool ;;
-Typechecked:
-AbsBinds [tt11, tt12] [d.Num.t15] [(g.t1, ShouldSucceed.g)]
- (fromInt.t14, fromInt tt12 d.Num.t15)
- (lit.t13, fromInt.t14 (MkInt 2#))
- {- nonrec -}
- g.t1 :: ([tt12], tt11) -> tt12
- g.t1 ((x.r54 : z.r56), y.r55)
- = x.r54
- g.t1 (x.r57, y.r58)
- = lit.t13
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aWw-}, t{-aWz-}]
+[d.Num_aWD]
+[([t{-aWw-}, t{-aWz-}], g{-r3j,x-}, g_aWb)]
+ fromInt_aWF =
+ PrelBase.fromInt{-8R,p-}
+ t{-aWz-}
+ d.Num_aWD
+ lit_aWE =
+ fromInt_aWF PrelBase.I#{-5b,p-}{i} 2#
+ g_aWb
+ ((x_r3d PrelBase.:{-55,p-}{i} z_r3e), y_r3f)
+ = x_r3d
+ g_aWb
+ (x_r3h, y_r3i)
+ = lit_aWE
+{- nonrec -}
+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;
+PrelTup 1 :: $d13 1 $d4 1 $d9 1;
+_exports_
+ShouldSucceed g;
+_declarations_
+1 g _:_ _forall_ [a b] {PrelBase.Num b} => ([b], a) -> b ;;
-Typechecked:
-d.Num.t7 = dfun.Num.Integer
-fromInt.t6 = fromInt tt3 d.Num.t7
-lit.t4 = fromInt.t6 (MkInt 1#)
-AbsBinds [] [] [(h.t1, ShouldSucceed.h)]
- {- rec -}
- h.t1 :: [tt3]
- h.t1 = ((:) tt3) lit.t4 h.t1
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+d.Num_aGS =
+ PrelBase.$d3{-rb0,p-}
+fromInt_aGT =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aGS
+lit_aGU =
+ fromInt_aGT PrelBase.I#{-5b,p-}{i} 1#
+{- rec -}
+AbsBinds [] [] [([], h{-r1,x-}, h_aGC)]
+ h_aGC
+ = PrelBase.:{-55,p-}{i}
+ PrelBase.Int{-3g,p-}
+ lit_aGU h_aGC
+{- nonrec -}
+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 h;
+_declarations_
+1 h _:_ [PrelBase.Int] ;;
-Typechecked:
-d.Num.t24 = dfun.Num.Integer
-d.Num.t26 = dfun.Num.Integer
-fromInt.t23 = fromInt tt2 d.Num.t24
-lit.t3 = fromInt.t23 (MkInt 2#)
-fromInt.t25 = fromInt tt15 d.Num.t26
-lit.t10 = fromInt.t25 (MkInt 1#)
-fromInt.t27 = fromInt.t25
-lit.t16 = fromInt.t27 (MkInt 0#)
-d.Num.t28 = d.Num.t24
-(+.t21) = (+) tt2 d.Num.t28
-AbsBinds [] [] [(j.t1, ShouldSucceed.j)]
- {- nonrec -}
- j.t1 :: tt2
- j.t1 = lit.t3
-AbsBinds [] [] [(k.t6, ShouldSucceed.k), (l.t7, ShouldSucceed.l)]
- {- rec -}
- k.t6 :: [tt15]
- k.t6 = ((:) tt15) lit.t10 (((:) tt15) ShouldSucceed.j l.t7)
- l.t7 :: [tt15]
- l.t7 = ((:) tt15) lit.t16 k.t6
-AbsBinds [] [] [(m.t19, ShouldSucceed.m)]
- {- nonrec -}
- m.t19 :: tt2
- m.t19 = ShouldSucceed.j +.t21 ShouldSucceed.j
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+d.Num_aHp =
+ PrelBase.$d3{-rb7,p-}
++_aHu =
+ PrelBase.+{-rR,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aHp
+d.Num_aHt =
+ d.Num_aHp
+fromInt_aHC =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aHt
+lit_aHB =
+ fromInt_aHC PrelBase.I#{-5b,p-}{i} 1#
+fromInt_aHA =
+ fromInt_aHC
+lit_aHz =
+ fromInt_aHA PrelBase.I#{-5b,p-}{i} 0#
+fromInt_aHy =
+ fromInt_aHC
+lit_aHv =
+ fromInt_aHy PrelBase.I#{-5b,p-}{i} 2#
+{- nonrec -}
+AbsBinds [] [] [([], j{-rV,x-}, j_aGI)]
+ j_aGI
+ = lit_aHv
+{- nonrec -}
+{- rec -}
+AbsBinds [] [] [([], k{-rU,x-}, k_aGS), ([], l{-rT,x-}, l_aGT)]
+ k_aGS
+ = PrelBase.:{-55,p-}{i}
+ PrelBase.Int{-3g,p-}
+ lit_aHB
+ (PrelBase.:{-55,p-}{i}
+ PrelBase.Int{-3g,p-}
+ j{-rV,x-} l_aGT)
+ l_aGT
+ = PrelBase.:{-55,p-}{i}
+ PrelBase.Int{-3g,p-}
+ lit_aHz k_aGS
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], m{-rS,x-}, m_aHb)]
+ m_aHb
+ = j{-rV,x-} +_aHu j{-rV,x-}
+{- nonrec -}
+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 j k l m;
+_declarations_
+1 j _:_ PrelBase.Int ;;
+1 k _:_ [PrelBase.Int] ;;
+1 l _:_ [PrelBase.Int] ;;
+1 m _:_ PrelBase.Int ;;
-Typechecked:
-AbsBinds [tt4] [d.Num.t7] [(n.t1, ShouldSucceed.n)]
- (fromInt.t6, fromInt tt4 d.Num.t7)
- (lit.t3, fromInt.t6 (MkInt 1#))
- (fromInt.t8, fromInt.t6)
- (lit.t5, fromInt.t8 (MkInt 0#))
- {- nonrec -}
- n.t1 :: Bool -> tt4
- n.t1 True = lit.t3
- n.t1 False = lit.t5
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-aGL-}] [d.Num_aGP] [([t{-aGL-}], n{-r1,x-}, n_aGE)]
+ fromInt_aGU =
+ PrelBase.fromInt{-8R,p-}
+ t{-aGL-}
+ d.Num_aGP
+ lit_aGT =
+ fromInt_aGU PrelBase.I#{-5b,p-}{i} 1#
+ fromInt_aGS =
+ fromInt_aGU
+ lit_aGQ =
+ fromInt_aGS PrelBase.I#{-5b,p-}{i} 0#
+ n_aGE
+ PrelBase.True{-5E,p-}{i}
+ = lit_aGT
+ n_aGE
+ PrelBase.False{-58,p-}{i}
+ = lit_aGQ
+{- nonrec -}
+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 n;
+_declarations_
+1 n _:_ _forall_ [a] {PrelBase.Num a} => PrelBase.Bool -> a ;;
-Typechecked:
-AbsBinds [tt10] [d.Num.t14] [(o.t1, ShouldSucceed.o)]
- (fromInt.t13, fromInt tt10 d.Num.t14)
- (lit.t11, fromInt.t13 (MkInt 1#))
- (d.Num.t15, d.Num.t14)
- (+.t9, (+) tt10 d.Num.t15)
- {- nonrec -}
- o.t1 :: (Bool, tt10) -> tt10
- o.t1 (True, x.r54)
- = x.r54
- o.t1 (False, y.r55)
- = y.r55 +.t9 lit.t11
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-aWp-}] [d.Num_aWs] [([t{-aWp-}], o{-r3h,x-}, o_aW8)]
+ +_aWy =
+ PrelBase.+{-r3g,p-}
+ t{-aWp-}
+ d.Num_aWs
+ d.Num_aWv =
+ d.Num_aWs
+ fromInt_aWx =
+ PrelBase.fromInt{-8R,p-}
+ t{-aWp-}
+ d.Num_aWv
+ lit_aWw =
+ fromInt_aWx PrelBase.I#{-5b,p-}{i} 1#
+ o_aW8
+ (PrelBase.True{-5E,p-}{i}, x_r3d)
+ = x_r3d
+ o_aW8
+ (PrelBase.False{-58,p-}{i}, y_r3f)
+ = y_r3f +_aWy lit_aWw
+{- nonrec -}
+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;
+PrelTup 1 :: $d13 1 $d4 1 $d9 1;
+_exports_
+ShouldSucceed o;
+_declarations_
+1 o _:_ _forall_ [a] {PrelBase.Num a} => (PrelBase.Bool, a) -> a ;;
-Typechecked:
-d.Num.t13 = dfun.Num.Integer
-fromInt.t12 = fromInt tt9 d.Num.t13
-lit.t10 = fromInt.t12 (MkInt 2#)
-d.Num.t14 = d.Num.t13
-(+.t8) = (+) tt9 d.Num.t14
-lit.t6 = lit.t10
-fromInt.t15 = fromInt.t12
-lit.t4 = fromInt.t15 (MkInt 1#)
-AbsBinds [] [] [(p.t1, ShouldSucceed.p)]
- {- nonrec -}
- p.t1 :: [(tt9, Bool)]
- p.t1 = [ (y.r54 +.t8 lit.t10, True) | y.r54 <- [lit.t4, lit.t6] (tt9) ]
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+d.Num_aXA =
+ PrelBase.$d3{-rb3,p-}
+fromInt_aXN =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aXA
+lit_aXT =
+ fromInt_aXN PrelBase.I#{-5b,p-}{i} 1#
+fromInt_aXS =
+ fromInt_aXN
+lit_aXR =
+ fromInt_aXS PrelBase.I#{-5b,p-}{i} 2#
+d.Num_aXE =
+ d.Num_aXA
++_aXQ =
+ PrelBase.+{-rau,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aXE
+d.Monad_aXG =
+ PrelBase.$d24{-raX,p-}
+>>=_aXP =
+ PrelBase.>>={-811,p-}
+ PrelBase.[]{-3j,p-}
+ d.Monad_aXG
+d.Monad_aXJ =
+ d.Monad_aXG
+return_aXO =
+ PrelBase.return{-816,p-}
+ PrelBase.[]{-3j,p-}
+ d.Monad_aXJ
+{- nonrec -}
+AbsBinds [] [] [([], p{-r3e,x-}, p_aWR)]
+ lit_aXU =
+ lit_aXR
+ p_aWR
+ = [ (y_r3d +_aXQ lit_aXU, PrelBase.True{-5E,p-}{i}) |
+ y_r3d <- [lit_aXT, lit_aXR] (PrelBase.Int{-3g,p-}) ]
+{- nonrec -}
+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 $d23 1 $d24 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 Monad 1 MonadZero 1 Num 1 Show 1 String 1;
+PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
+PrelTup 1 :: $d13 1 $d4 1 $d9 1;
+_exports_
+ShouldSucceed p;
+_declarations_
+1 p _:_ [(PrelBase.Int, PrelBase.Bool)] ;;
-Typechecked:
-AbsBinds [tt0] [] [(x.t1, ShouldSucceed.x)]
- {- rec -}
- (x.t1@_) :: tt0
- (x.t1@_) = x.t1
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- rec -}
+AbsBinds [t{-an2-}] [] [([t{-an2-}], x{-r1,x-}, x_an0)]
+ (x_an0@_)
+ = x_an0
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed x;
+_declarations_
+1 x _:_ _forall_ [a] => a ;;
-Typechecked:
-AbsBinds [ot2] [] [(q.t1, ShouldSucceed.q)]
- {- nonrec -}
- q.t1 :: ot2 -> ot2
- q.t1 = \ y.r54 -> y.r54
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-an8-}] [] [([t{-an8-}], q{-r3e,x-}, q_an2)]
+ q_an2
+ = \ y_r3d -> y_r3d
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed q;
+_declarations_
+1 q _:_ _forall_ [a] => a -> a ;;
-Typechecked:
-d.Num.t9 = dfun.Num.Integer
-fromInt.t8 = fromInt tt6 d.Num.t9
-lit.t7 = fromInt.t8 (MkInt 1#)
-AbsBinds [] [] [(r.t2, ShouldSucceed.r), (s.t3, ShouldSucceed.s)]
- {- nonrec -}
- (r.t2, s.t3) :: (tt6, Char)
- (r.t2, s.t3) = (lit.t7, 'a')
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+d.Num_aWr =
+ PrelBase.$d3{-rb2,p-}
+fromInt_aWs =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aWr
+lit_aWt =
+ fromInt_aWs PrelBase.I#{-5b,p-}{i} 1#
+{- nonrec -}
+AbsBinds [] [] [([], r{-r3,x-}, r_aW6), ([], s{-r2,x-}, s_aW7)]
+ (r_aW6, s_aW7)
+ = (lit_aWt, 'a')
+{- nonrec -}
+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;
+PrelTup 1 :: $d13 1 $d4 1 $d9 1;
+_exports_
+ShouldSucceed r s;
+_declarations_
+1 r _:_ PrelBase.Int ;;
+1 s _:_ PrelBase.Char ;;
-Typechecked:
-d.Num.t8 = dfun.Num.Integer
-fromInt.t7 = fromInt tt0 d.Num.t8
-lit.t5 = fromInt.t7 (MkInt 1#)
-d.Num.t9 = d.Num.t8
-(+.t3) = (+) tt0 d.Num.t9
-AbsBinds [] [] [(t.t1, ShouldSucceed.t)]
- {- rec -}
- t.t1 :: tt0
- t.t1 = lit.t5 +.t3 t.t1
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+d.Num_aGW =
+ PrelBase.$d3{-rb1,p-}
++_aH1 =
+ PrelBase.+{-rO,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aGW
+d.Num_aH0 =
+ d.Num_aGW
+fromInt_aH3 =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aH0
+lit_aH2 =
+ fromInt_aH3 PrelBase.I#{-5b,p-}{i} 1#
+{- rec -}
+AbsBinds [] [] [([], t{-rP,x-}, t_aGC)]
+ t_aGC
+ = lit_aH2 +_aH1 t_aGC
+{- nonrec -}
+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 t;
+_declarations_
+1 t _:_ PrelBase.Int ;;
-Typechecked:
-AbsBinds [tt5, tt6, ot2] [] [(u.t1, ShouldSucceed.u)]
- {- nonrec -}
- u.t1 :: ot2 -> (tt5, tt6) -> ot2
- u.t1 x.r54 = \ (y.r55, z.r56)
- -> x.r54
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aB8-}, t{-aBb-}, t{-aBg-}]
+[]
+[([t{-aB8-}, t{-aBb-}, t{-aBg-}], u{-r3h,x-}, u_aB2)]
+ u_aB2
+ x_r3d = \ (y_r3f, z_r3g)
+ -> x_r3d
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed u;
+_declarations_
+1 u _:_ _forall_ [a b c] => c -> (a, b) -> c ;;
-Typechecked:
-AbsBinds [ot5, ot3] [] [(f.t1, ShouldSucceed.f)]
- {- nonrec -}
- f.t1 :: ot3 -> ot5 -> ot3
- f.t1 (x.r54@_) (y.r55@_)
- = x.r54
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-ang-}, t{-ani-}]
+[]
+[([t{-ang-}, t{-ani-}], f{-r3g,x-}, f_an4)]
+ f_an4
+ (x_r3d@_) (y_r3f@_)
+ = x_r3d
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed f;
+_declarations_
+1 f _:_ _forall_ [a b] => a -> b -> a ;;
-Typechecked:
-d.Num.t8 = dfun.Num.Integer
-fromInt.t7 = fromInt tt4 d.Num.t8
-lit.t5 = fromInt.t7 (MkInt 1#)
-d.Num.t9 = d.Num.t8
-(+.t3) = (+) tt4 d.Num.t9
-AbsBinds [] [] [(v.t1, ShouldSucceed.v)]
- {- rec -}
- v.t1 :: tt4
- v.t1 | True = v.t1 +.t3 lit.t5
- | False = v.t1
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+d.Num_aGW =
+ PrelBase.$d3{-rb1,p-}
++_aH1 =
+ PrelBase.+{-ras,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aGW
+d.Num_aH0 =
+ d.Num_aGW
+fromInt_aH3 =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aH0
+lit_aH2 =
+ fromInt_aH3 PrelBase.I#{-5b,p-}{i} 1#
+{- rec -}
+AbsBinds [] [] [([], v{-r1,x-}, v_aGC)]
+ v_aGC
+ | [PrelBase.True{-5E,p-}{i}] =
+ v_aGC +_aH1 lit_aH2
+ | [PrelBase.False{-58,p-}{i}] =
+ v_aGC
+{- nonrec -}
+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 v;
+_declarations_
+1 v _:_ PrelBase.Int ;;
+
+
+--================================================================================
Typechecked:
-d.Num.t9 = dfun.Num.Integer
-fromInt.t8 = fromInt tt4 d.Num.t9
-lit.t5 = fromInt.t8 (MkInt 2#)
-AbsBinds [] [] [(w.t1, ShouldSucceed.w)]
- {- nonrec -}
- w.t1 :: tt4
- w.t1 = a.r54
- where
- AbsBinds [] [] [(y.t3, y.r55)]
+{- nonrec -}
+d.Num_aH4 =
+ PrelBase.$d3{-rb3,p-}
+fromInt_aH5 =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aH4
+lit_aH6 =
+ fromInt_aH5 PrelBase.I#{-5b,p-}{i} 2#
+{- nonrec -}
+AbsBinds [] [] [([], w{-r3f,x-}, w_aGI)]
+ w_aGI
+ = a_r3d
+ where
{- nonrec -}
- y.t3 :: tt4
- y.t3 = lit.t5
- {- nonrec -}
- AbsBinds [] [] [(a.t7, a.r54)]
+ AbsBinds [] [] [([], y_r3e, y_aGH)]
+ y_aGH
+ = lit_aH6
{- nonrec -}
- a.t7 :: tt4
- a.t7 = y.r55
- {- nonrec -}
-
+ {- nonrec -}
+ AbsBinds [] [] [([], a_r3d, a_aGT)]
+ a_aGT
+ = y_r3e
+ {- nonrec -}
+{- nonrec -}
+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 w;
+_declarations_
+1 w _:_ PrelBase.Int ;;
-Typechecked:
-d.Num.t19 = dfun.Num.Integer
-d.Num.t22 = dfun.Num.Integer
-fromInt.t18 = fromInt tt4 d.Num.t19
-lit.t16 = fromInt.t18 (MkInt 1#)
-d.Num.t20 = d.Num.t19
-(+.t14) = (+) tt4 d.Num.t20
-fromInt.t21 = fromInt tt6 d.Num.t22
-lit.t12 = fromInt.t21 (MkInt 2#)
-lit.t10 = lit.t16
-AbsBinds [] [] [(al.t2, ShouldSucceed.al), (am.t3, ShouldSucceed.am)]
- {- nonrec -}
- (al.t2 : am.t3) :: [tt4]
- (al.t2 : am.t3)
- = [ y.r55 +.t14 lit.t16 |
- (y.r55, z.r56) <- [(lit.t10, lit.t12)] ((tt4, tt6)) ]
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+d.Num_aY3 =
+ PrelBase.$d3{-rb6,p-}
+fromInt_aYg =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aY3
+lit_aYm =
+ fromInt_aYg PrelBase.I#{-5b,p-}{i} 1#
+fromInt_aYl =
+ fromInt_aYg
+lit_aYk =
+ fromInt_aYl PrelBase.I#{-5b,p-}{i} 2#
+d.Num_aY7 =
+ d.Num_aY3
++_aYj =
+ PrelBase.+{-r3g,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aY7
+d.Monad_aY9 =
+ PrelBase.$d24{-rb0,p-}
+>>=_aYi =
+ PrelBase.>>={-811,p-}
+ PrelBase.[]{-3j,p-}
+ d.Monad_aY9
+d.Monad_aYc =
+ d.Monad_aY9
+return_aYh =
+ PrelBase.return{-816,p-}
+ PrelBase.[]{-3j,p-}
+ d.Monad_aYc
+{- nonrec -}
+AbsBinds
+[]
+[]
+[([], al{-r3i,x-}, al_aWK), ([], am{-r3h,x-}, am_aWL)]
+ lit_aYn =
+ lit_aYm
+ (al_aWK PrelBase.:{-55,p-}{i} am_aWL)
+ = [ y_r3e +_aYj lit_aYn |
+ (y_r3e, z_r3f) <- [(lit_aYm,
+ lit_aYk)] ((PrelBase.Int{-3g,p-}, PrelBase.Int{-3g,p-}))
+ ]
+{- nonrec -}
+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 $d23 1 $d24 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 Monad 1 MonadZero 1 Num 1 Show 1 String 1;
+PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1;
+PrelTup 1 :: $d13 1 $d4 1 $d9 1;
+_exports_
+ShouldSucceed al am;
+_declarations_
+1 al _:_ PrelBase.Int ;;
+1 am _:_ [PrelBase.Int] ;;
-Typechecked:
-AbsBinds [tt5] [] [(f.t1, ShouldSucceed.f)]
- {- nonrec -}
- f.t1 :: tt5 -> [tt5]
- f.t1 x.r54 = a.r55
- where
- AbsBinds [] [] [(a.t4, a.r55)]
- {- rec -}
- a.t4 :: [tt5]
- a.t4 = ((:) tt5) x.r54 a.t4
- {- nonrec -}
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-anb-}] [] [([t{-anb-}], f{-r3g,x-}, f_an4)]
+ f_an4
+ x_r3d = a_r3f
+ where
+ {- rec -}
+ AbsBinds [] [] [([], a_r3f, a_an8)]
+ a_an8
+ = PrelBase.:{-55,p-}{i}
+ t{-anb-}
+ x_r3d a_an8
+ {- nonrec -}
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed f;
+_declarations_
+1 f _:_ _forall_ [a] => a -> [a] ;;
-Typechecked:
-AbsBinds [tt0] [] [(x.t1, ShouldSucceed.x)]
- {- rec -}
- x.t1 :: tt0
- x.t1 = x.t1
-AbsBinds [tt4, tt5] [] [(a.t3, ShouldSucceed.a)]
- {- nonrec -}
- a.t3 :: (tt4, tt5)
- a.t3 = (ShouldSucceed.x tt4, ShouldSucceed.x tt5)
-AbsBinds [ot8, tt9, tt10] [] [(f.t7, ShouldSucceed.f)]
- {- nonrec -}
- f.t7 :: ot8 -> (tt9, tt10)
- f.t7 x.r56 = ShouldSucceed.a [tt9, tt10]
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- rec -}
+AbsBinds [t{-aB5-}] [] [([t{-aB5-}], x{-r3g,x-}, x_aB3)]
+ x_aB3
+ = x_aB3
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aBb-}, t{-aBd-}]
+[]
+[([t{-aBb-}, t{-aBd-}], a{-r3h,x-}, a_aB7)]
+ a_aB7
+ = (x{-r3g,x-}
+ t{-aBb-},
+ x{-r3g,x-}
+ t{-aBd-})
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aBp-}, t{-aBl-}, t{-aBn-}]
+[]
+[([t{-aBp-}, t{-aBl-}, t{-aBn-}], f{-r3i,x-}, f_aBf)]
+ f_aBf
+ x_r3f = a{-r3h,x-}
+ [t{-aBl-}, t{-aBn-}]
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed a f x;
+_declarations_
+1 a _:_ _forall_ [a b] => (a, b) ;;
+1 f _:_ _forall_ [a b c] => a -> (b, c) ;;
+1 x _:_ _forall_ [a] => a ;;
-Typechecked:
-AbsBinds [ot2] [] [(id.t1, ShouldSucceed.id)]
- {- nonrec -}
- id.t1 :: ot2 -> ot2
- id.t1
- x.r55 = x.r55
-AbsBinds [tt6] [] [(main.t4, ShouldSucceed.main)]
- {- nonrec -}
- main.t4 :: tt6 -> tt6
- main.t4 = (ShouldSucceed.id (tt6 -> tt6)) (ShouldSucceed.id tt6)
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-ana-}] [] [([t{-ana-}], iD{-r3f,x-}, iD_an4)]
+ iD_an4
+ x_r3e = x_r3e
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-anh-}] [] [([t{-anh-}], main{-r3g,x-}, main_anc)]
+ main_anc
+ = iD{-r3f,x-}
+ (t{-anh-} -> t{-anh-}) iD{-r3f,x-}
+ t{-anh-}
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed iD main;
+_declarations_
+1 iD _:_ _forall_ [a] => a -> a ;;
+1 main _:_ _forall_ [a] => a -> a ;;
-Typechecked:
-AbsBinds [ot6, ot4, ot5] [] [(s.t1, ShouldSucceed.s)]
- {- nonrec -}
- s.t1 :: (ot4 -> ot6 -> ot5) -> (ot4 -> ot6) -> ot4 -> ot5
- s.t1 f.r56 g.r57 x.r58
- = f.r56 x.r58 (g.r57 x.r58)
-AbsBinds [ot10, ot9] [] [(k.t8, ShouldSucceed.k)]
- {- nonrec -}
- k.t8 :: ot9 -> ot10 -> ot9
- k.t8 x.r59 y.r60
- = x.r59
-AbsBinds [tt19] [] [(main.t12, ShouldSucceed.main)]
- {- nonrec -}
- main.t12 :: tt19 -> tt19
- main.t12
- = (ShouldSucceed.s [tt18 -> tt19, tt19, tt19])
- (ShouldSucceed.k [tt18 -> tt19, tt19])
- (ShouldSucceed.k [tt18, tt19])
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-anm-}, t{-ano-}]
+[]
+[([t{-anm-}, t{-ano-}], k{-r3o,x-}, k_ane)]
+ k_ane
+ x_r3l y_r3n
+ = x_r3l
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-anM-}, t{-anO-}, t{-anQ-}]
+[]
+[([t{-anM-}, t{-anO-}, t{-anQ-}], s{-r3p,x-}, s_anq)]
+ s_anq
+ f_r3f g_r3h x_r3j
+ = f_r3f x_r3j g_r3h x_r3j
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-ao5-}] [] [([t{-ao5-}], main{-r3q,x-}, main_anS)]
+ main_anS
+ = s{-r3p,x-}
+ [t{-ao5-}, GHC.Void{-3T,p-} -> t{-ao5-}, t{-ao5-}] k{-r3o,x-}
+ [t{-ao5-}, GHC.Void{-3T,p-}
+ -> t{-ao5-}]
+ k{-r3o,x-}
+ [t{-ao5-}, GHC.Void{-3T,p-}]
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed k main s;
+_declarations_
+1 k _:_ _forall_ [a b] => a -> b -> a ;;
+1 main _:_ _forall_ [a] => a -> a ;;
+1 s _:_ _forall_ [a b c] => (a -> b -> c) -> (a -> b) -> a -> c ;;
-Typechecked:
-AbsBinds [ot6, ot4, ot5] [] [(s.t1, ShouldSucceed.s)]
- {- nonrec -}
- s.t1 :: (ot4 -> ot6 -> ot5) -> (ot4 -> ot6) -> ot4 -> ot5
- s.t1 f.r57 g.r58 x.r59
- = f.r57 x.r59 (g.r58 x.r59)
-AbsBinds [ot10, ot9] [] [(k.t8, ShouldSucceed.k)]
- {- nonrec -}
- k.t8 :: ot9 -> ot10 -> ot9
- k.t8 x.r60 y.r61
- = x.r60
-AbsBinds [tt20] [] [(main.t12, ShouldSucceed.main)]
- {- nonrec -}
- main.t12 :: tt20 -> tt20
- main.t12
- x.r56 = (ShouldSucceed.s [tt19 -> tt20, tt20, tt20])
- (ShouldSucceed.k [tt19 -> tt20, tt20])
- (ShouldSucceed.k [tt19, tt20])
- x.r56
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-ano-}, t{-anq-}]
+[]
+[([t{-ano-}, t{-anq-}], k{-r3q,x-}, k_ang)]
+ k_ang
+ x_r3n y_r3p
+ = x_r3n
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-anO-}, t{-anQ-}, t{-anS-}]
+[]
+[([t{-anO-}, t{-anQ-}, t{-anS-}], s{-r3r,x-}, s_ans)]
+ s_ans
+ f_r3h g_r3j x_r3l
+ = f_r3h x_r3l g_r3j x_r3l
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-ao8-}] [] [([t{-ao8-}], main{-r3s,x-}, main_anU)]
+ main_anU
+ x_r3f = s{-r3r,x-}
+ [t{-ao8-}, GHC.Void{-3T,p-} -> t{-ao8-}, t{-ao8-}] k{-r3q,x-}
+ [t{-ao8-}, GHC.Void{-3T,p-}
+ -> t{-ao8-}]
+ k{-r3q,x-}
+ [t{-ao8-}, GHC.Void{-3T,p-}]
+ x_r3f
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed k main s;
+_declarations_
+1 k _:_ _forall_ [a b] => a -> b -> a ;;
+1 main _:_ _forall_ [a] => a -> a ;;
+1 s _:_ _forall_ [a b c] => (a -> b -> c) -> (a -> b) -> a -> c ;;
-Typechecked:
-AbsBinds [] [] [(g.t1, ShouldSucceed.g)]
- {- nonrec -}
- g.t1 :: Bool -> Bool
- g.t1 x.r54 = (f.r55 Bool) ((f.r55 Bool) True x.r54) x.r54
- where
- AbsBinds [ot7] [] [(f.t4, f.r55)]
- {- rec -}
- f.t4 :: Bool -> ot7 -> ot7
- f.t4 x.r56 y.r57
- = if x.r56 then y.r57 else f.t4 x.r56 y.r57
- {- nonrec -}
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], g{-r3k,x-}, g_an8)]
+ g_an8
+ x_r3d = f_r3f
+ PrelBase.Bool{-34,p-} f_r3f
+ PrelBase.Bool{-34,p-} PrelBase.True{-5E,p-}{i}
+ x_r3d
+ x_r3d
+ where
+ {- rec -}
+ AbsBinds [t{-ant-}] [] [([t{-ant-}], f_r3f, f_anc)]
+ f_anc
+ x_r3h y_r3j
+ = if x_r3h then y_r3j else f_anc x_r3h y_r3j
+ {- nonrec -}
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed g;
+_declarations_
+1 g _:_ PrelBase.Bool -> PrelBase.Bool ;;
-Typechecked:
-AbsBinds [ot4] [] [(f.t1, ShouldSucceed.f)]
- {- rec -}
- f.t1 :: Bool -> ot4 -> ot4
- f.t1 x.r56 y.r57
- = if x.r56 then y.r57 else f.t1 x.r56 y.r57
-AbsBinds [] [] [(g.t6, ShouldSucceed.g)]
- {- nonrec -}
- g.t6 :: Bool -> Bool
- g.t6 x.r55 = (ShouldSucceed.f Bool)
- ((ShouldSucceed.f Bool) True x.r55) x.r55
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- rec -}
+AbsBinds [t{-ann-}] [] [([t{-ann-}], f{-r3j,x-}, f_an8)]
+ f_an8
+ x_r3g y_r3i
+ = if x_r3g then y_r3i else f_an8 x_r3g y_r3i
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], g{-r3k,x-}, g_anp)]
+ g_anp
+ x_r3e = f{-r3j,x-}
+ PrelBase.Bool{-34,p-} f{-r3j,x-}
+ PrelBase.Bool{-34,p-} PrelBase.True{-5E,p-}{i}
+ x_r3e
+ x_r3e
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed f g;
+_declarations_
+1 f _:_ _forall_ [a] => PrelBase.Bool -> a -> a ;;
+1 g _:_ PrelBase.Bool -> PrelBase.Bool ;;
+
+
+--================================================================================
Typechecked:
-AbsBinds [ot9] [] [(f.t2, ShouldSucceed.f), (g.t3, ShouldSucceed.g)]
- {- rec -}
- f.t2 :: Bool -> ot9 -> ot9
- f.t2 x.r57 y.r58
- = if x.r57 then y.r58 else g.t3 y.r58 x.r57
- g.t3 :: ot9 -> Bool -> ot9
- g.t3 y.r60 x.r59
- = if x.r59 then y.r60 else f.t2 x.r59 y.r60
-AbsBinds [] [] [(h.t11, ShouldSucceed.h)]
- {- nonrec -}
- h.t11 :: Bool -> Bool
- h.t11
- x.r56 = (ShouldSucceed.f Bool) ((ShouldSucceed.f Bool) True x.r56) x.r56
+{- nonrec -}
+{- rec -}
+AbsBinds
+[t{-anz-}]
+[]
+[([t{-anz-}], f{-r3p,x-}, f_ane), ([t{-anz-}], g{-r3o,x-}, g_anf)]
+ f_ane
+ x_r3h y_r3j
+ = if x_r3h then y_r3j else g_anf y_r3j x_r3h
+ g_anf
+ y_r3l x_r3n
+ = if x_r3n then y_r3l else f_ane x_r3n y_r3l
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], h{-r3q,x-}, h_anB)]
+ h_anB
+ x_r3f = f{-r3p,x-}
+ PrelBase.Bool{-34,p-} f{-r3p,x-}
+ PrelBase.Bool{-34,p-} PrelBase.True{-5E,p-}{i}
+ x_r3f
+ x_r3f
+{- nonrec -}
+NOTE: Simplifier still going after 4 iterations; bailing out.
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed f g h;
+_declarations_
+1 f _:_ _forall_ [a] => PrelBase.Bool -> a -> a ;;
+1 g _:_ _forall_ [a] => a -> PrelBase.Bool -> a ;;
+1 h _:_ PrelBase.Bool -> PrelBase.Bool ;;
-Typechecked:
+--================================================================================
+Typechecked:
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed H;
+_declarations_
+1 type H = (PrelBase.Int, PrelBase.Bool) ;
-Typechecked:
+--================================================================================
+Typechecked:
+{- nonrec -}
+H{-r4,x-}{i} =
+ \ tpl_B1 ->
+ H{-r4,x-}{i}
+ {tpl_B1}
+M{-r3,x-}{i} =
+ \ tpl_B1 ->
+ M{-r3,x-}{i}
+ {tpl_B1}
+{- rec -}
+AbsBinds [] [] [([], $d1{-rG9,x-}, d.Eval_aG6)]
+ d.Eval_aG6 =
+ ({-dict-} [] [])
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d37 1 $d39 1 $d41 1 $d44 1 $d46 1 Eval 1;
+_exports_
+ShouldSucceed G K(H M);
+_instances_
+instance {PrelBase.Eval K} = $d1;
+_declarations_
+1 $d1 _:_ {PrelBase.Eval K} ;;
+1 type G = [PrelBase.Int] ;
+1 data K = H PrelBase.Bool | M G ;
-Typechecked:
+--================================================================================
+Typechecked:
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed G H;
+_declarations_
+1 type G = (H, PrelBase.Char) ;
+1 type H = [PrelBase.Bool] ;
-Typechecked:
+--================================================================================
+Typechecked:
+{- nonrec -}
+Node{-r2,x-}{i} =
+ \ tpl_B1 tpl_B2 ->
+ Node{-r2,x-}{i}
+ {tpl_B1 tpl_B2}
+{- rec -}
+AbsBinds [] [] [([], $d1{-rFX,x-}, d.Eval_aFU)]
+ d.Eval_aFU =
+ ({-dict-} [] [])
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d37 1 $d39 1 $d41 1 $d46 1 Eval 1;
+_exports_
+ShouldSucceed Rec(Node);
+_instances_
+instance {PrelBase.Eval Rec} = $d1;
+_declarations_
+1 $d1 _:_ {PrelBase.Eval Rec} ;;
+1 data Rec = Node PrelBase.Int Rec ;
-Typechecked:
+--================================================================================
+Typechecked:
+{- nonrec -}
+Node{-r4,x-}{i} =
+ _/\_ b{-r3h-} -> \ tpl_B1 tpl_B2 ->
+ Node{-r4,x-}{i}
+ {_@_ b{-r3h-} tpl_B1 tpl_B2}
+Other{-r3,x-}{i} =
+ _/\_ b{-r3h-} -> \ tpl_B1 ->
+ Other{-r3,x-}{i}
+ {_@_ b{-r3h-} tpl_B1}
+{- rec -}
+AbsBinds [b{-aVe-}] [] [([b{-aVe-}], $d1{-rVh,x-}, d.Eval_aVd)]
+ d.Eval_aVd =
+ ({-dict-} [] [])
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d37 1 $d38 1 $d39 1 $d41 1 $d44 1 $d46 1 Eval 1;
+PrelTup 1 :: $d13 1;
+_exports_
+ShouldSucceed AList(Node Other);
+_instances_
+instance _forall_ [a] => {PrelBase.Eval (AList a)} = $d1;
+_declarations_
+1 $d1 _:_ _forall_ [a] => {PrelBase.Eval (AList a)} ;;
+1 data AList r3h = Node r3h [r3h] | Other (r3h, PrelBase.Char) ;
-Typechecked:
+--================================================================================
+Typechecked:
+{- nonrec -}
+Twist2{-r4,x-}{i} =
+ \ tpl_B1 ->
+ Twist2{-r4,x-}{i}
+ {tpl_B1}
+{- nonrec -}
+Twine2{-r8,x-}{i} =
+ \ tpl_B1 ->
+ Twine2{-r8,x-}{i}
+ {tpl_B1}
+{- rec -}
+AbsBinds [] [] [([], $d1{-rGe,x-}, d.Eval_aG6)]
+ d.Eval_aG6 =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds [] [] [([], $d2{-rGg,x-}, d.Eval_aGb)]
+ d.Eval_aGb =
+ ({-dict-} [] [])
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d37 1 $d39 1 $d41 1 $d46 1 Eval 1;
+_exports_
+ShouldSucceed F Twine(Twine2) Twist(Twist2);
+_instances_
+instance {PrelBase.Eval Twist} = $d1;
+instance {PrelBase.Eval Twine} = $d2;
+_declarations_
+1 $d1 _:_ {PrelBase.Eval Twist} ;;
+1 $d2 _:_ {PrelBase.Eval Twine} ;;
+1 type F = Twine ;
+1 data Twine = Twine2 Twist ;
+1 data Twist = Twist2 Twine ;
-Typechecked:
-AbsBinds [tt12] [d.Num.t15] [(g.t1, ShouldSucceed.g)]
- (fromInt.t14, fromInt tt12 d.Num.t15)
- (lit.t4, fromInt.t14 (MkInt 2#))
- (fromInt.t16, fromInt.t14)
- (lit.t13, fromInt.t16 (MkInt 4#))
- (fromInt.t17, fromInt.t16)
- (lit.t11, fromInt.t17 (MkInt 3#))
- {- nonrec -}
- g.t1 :: ShouldSucceed.AList Bool -> tt12
- g.t1 ShouldSucceed.ANull
- = lit.t4
- g.t1 (ShouldSucceed.ANode b.r59 (ShouldSucceed.ANode c.r60 d.r61))
- | b.r59 = lit.t11
- | True = lit.t13
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+ANull{-r6,x-}{i} =
+ _/\_ a{-r3p-} ->
+ ANull{-r6,x-}{i}
+ {_@_ a{-r3p-}}
+ANode{-r5,x-}{i} =
+ _/\_ a{-r3p-} -> \ tpl_B1 tpl_B2 ->
+ ANode{-r5,x-}{i}
+ {_@_ a{-r3p-} tpl_B1 tpl_B2}
+{- rec -}
+AbsBinds [a{-aHA-}] [] [([a{-aHA-}], $d1{-rHD,x-}, d.Eval_aHz)]
+ d.Eval_aHz =
+ ({-dict-} [] [])
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-aHn-}] [d.Num_aHr] [([t{-aHn-}], g{-r3q,x-}, g_aH1)]
+ fromInt_aHJ =
+ PrelBase.fromInt{-8R,p-}
+ t{-aHn-}
+ d.Num_aHr
+ lit_aHI =
+ fromInt_aHJ PrelBase.I#{-5b,p-}{i} 2#
+ fromInt_aHH =
+ fromInt_aHJ
+ lit_aHG =
+ fromInt_aHH PrelBase.I#{-5b,p-}{i} 3#
+ fromInt_aHF =
+ fromInt_aHJ
+ lit_aHE =
+ fromInt_aHF PrelBase.I#{-5b,p-}{i} 4#
+ g_aH1
+ ANull{-r6,x-}{i}
+ = lit_aHI
+ g_aH1
+ (ANode{-r5,x-}{i} b_r3k (ANode{-r5,x-}{i} c_r3l d_r3m))
+ | [b_r3k] =
+ lit_aHG
+ | [PrelBase.True{-5E,p-}{i}] =
+ lit_aHE
+{- nonrec -}
+tc034.hs:7:
+ Warning: Possibly incomplete patterns
+ in the definition of function `g'
+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 g AList(ANull ANode) IntList;
+_instances_
+instance _forall_ [a] => {PrelBase.Eval (AList a)} = $d1;
+_declarations_
+1 $d1 _:_ _forall_ [a] => {PrelBase.Eval (AList a)} ;;
+1 data AList r3p = ANull | ANode r3p (AList r3p) ;
+1 type IntList = AList PrelBase.Int ;
+1 g _:_ _forall_ [a] {PrelBase.Num a} => AList PrelBase.Bool -> a ;;
-Typechecked:
-AbsBinds [a.t10] [] [(g.t1, ShouldSucceed.g)]
- {- rec -}
- g.t1 :: ShouldSucceed.AnnExpr a.t10 -> [[Char]]
- g.t1 (a.r60, (ShouldSucceed.Var name.r61))
- = [name.r61] ([Char])
- g.t1 (a.r62, (ShouldSucceed.App e1.r63 e2.r64))
- = ((++) [Char]) (g.t1 e1.r63) (g.t1 e2.r64)
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+Var{-r5,x-}{i} =
+ _/\_ a{-r3q-} -> \ tpl_B1 ->
+ Var{-r5,x-}{i}
+ {_@_ a{-r3q-} tpl_B1}
+App{-r4,x-}{i} =
+ _/\_ a{-r3q-} -> \ tpl_B1 tpl_B2 ->
+ App{-r4,x-}{i}
+ {_@_ a{-r3q-} tpl_B1 tpl_B2}
+{- rec -}
+AbsBinds [a{-aWY-}] [] [([a{-aWY-}], $d1{-rX1,x-}, d.Eval_aWV)]
+ d.Eval_aWV =
+ ({-dict-} [] [])
+{- nonrec -}
+d.MonadPlus_aWX =
+ PrelBase.$d22{-rq5,p-}
+++_aX2 =
+ PrelBase.++{-rur,p-}
+ PrelBase.[]{-3j,p-}
+ d.MonadPlus_aWX
+{- rec -}
+AbsBinds [t{-aWD-}] [] [([t{-aWD-}], g{-r3t,x-}, g_aWg)]
+ g_aWg
+ (a_r3j, (Var{-r5,x-}{i} name_r3k))
+ = [name_r3k] ([PrelBase.Char{-38,p-}])
+ g_aWg
+ (a_r3m, (App{-r4,x-}{i} e1_r3n e2_r3o))
+ = ++_aX2
+ [PrelBase.Char{-38,p-}]
+ (g_aWg e1_r3n) (g_aWg e2_r3o)
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d22 1 $d23 1 $d24 1 $d37 1 $d38 1 $d39 1 $d41 1 $d44 1 $d46 1 Eval 1 Monad 1 MonadPlus 1 MonadZero 1;
+PrelTup 1 :: $d13 1;
+_exports_
+ShouldSucceed g AnnExpr Expr(Var App);
+_instances_
+instance _forall_ [a] => {PrelBase.Eval (Expr a)} = $d1;
+_declarations_
+1 $d1 _:_ _forall_ [a] => {PrelBase.Eval (Expr a)} ;;
+1 type AnnExpr r3s = (r3s, Expr r3s) ;
+1 data Expr r3q = Var [PrelBase.Char] | App (AnnExpr r3q) (AnnExpr r3q) ;
+1 g _:_ _forall_ [a] => (a, Expr a) -> [[PrelBase.Char]] ;;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.A.op1 = /\ a.t0 -> \{-classdict-} [d.Eq.t2] [op1.t1] -> op1.t1
-sdsel.ShouldSucceed.A.Eq =
- /\ a.t0 -> \{-classdict-} [d.Eq.t2] [op1.t1] -> d.Eq.t2
+scsel_APrelBaseEq{-aG7,x-} =
+ _/\_ a{-r3e-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;}
+op1{-r3f,x-} =
+ _/\_ a{-r3e-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;}
{- nonrec -}
-defm.ShouldSucceed.A.op1 =
- /\ a.t3 ->
- \{-dict-} d.ShouldSucceed.A.t4 ->
- (error (a.t3 -> a.t3))
- "No default method for \"ShouldSucceed.A.defm.ShouldSucceed.A.op1\"\n"
-
+AbsBinds
+[a{-aG6-}]
+[d.A_aFZ]
+[([a{-aG6-}], $mop1{-rG8,x-}, op1_aG1)]
+ AbsBinds [] [] [([], op1_aG1, op1_aG3)]
+ op1_aG3
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aG6-} -> a{-aG6-}) "Class A Method op1"
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d15 1 $d32 1 $d7 1 Eq 1;
+PrelNum 1 :: $d18 1;
+_exports_
+ShouldSucceed A(op1);
+_declarations_
+1 $mop1 _:_ _forall_ [a] {A a} => a -> a ;;
+1 class {PrelBase.Eq r3e} => A r3e where {op1 :: r3e -> r3e} ;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Eq'.deq = /\ a.t21 -> \{-classdict-} [] [deq.t22] -> deq.t22
+deq{-r3x,x-} =
+ _/\_ a{-r3w-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.Eq'.deq =
- /\ a.t23 ->
- \{-dict-} d.ShouldSucceed.Eq'.t24 ->
- (error (a.t23 -> a.t23 -> Bool))
- "No default method for \"ShouldSucceed.Eq'.defm.ShouldSucceed.Eq'.deq\"\n"
AbsBinds
-[a.t0]
-[d.ShouldSucceed.Eq'.t1]
-[(d.ShouldSucceed.Eq'.t2, dfun.ShouldSucceed.Eq'.List)]
- (d.ShouldSucceed.Eq'.t19, d.ShouldSucceed.Eq'.t2)
- (ShouldSucceed.Eq'.deq.t16,
- ShouldSucceed.Eq'.deq [a.t0] d.ShouldSucceed.Eq'.t19)
- (d.ShouldSucceed.Eq'.t20, d.ShouldSucceed.Eq'.t1)
- (ShouldSucceed.Eq'.deq.t13,
- ShouldSucceed.Eq'.deq a.t0 d.ShouldSucceed.Eq'.t20)
- {- rec -}
- d.ShouldSucceed.Eq'.t2 = ({-dict-} [] [deq.t3])
- deq.t3 :: [a.t0] -> [a.t0] -> Bool
- deq.t3
- [] [] = True
- deq.t3
- (x.r29 : xs.r30) (y.r31 : ys.r32)
- = if x.r29 `ShouldSucceed.Eq'.deq.t13` y.r31 then
- ShouldSucceed.Eq'.deq.t16 xs.r30 ys.r32
- else
- False
- deq.t3
- other1.r33 other2.r34
- = False
-
+[a{-aog-}]
+[d.Eq'_ao9]
+[([a{-aog-}], $mdeq{-rnR,x-}, deq_aob)]
+ AbsBinds [] [] [([], deq_aob, deq_aod)]
+ deq_aod
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aog-}
+ -> a{-aog-}
+ -> PrelBase.Bool{-34,p-}) "Class Eq' Method deq"
+{- rec -}
+AbsBinds
+[a{-anC-}]
+[d.Eq'_ao2]
+[([a{-anC-}], $d1{-roh,x-}, d.Eq'_anw)]
+ d.Eq'_ao5 =
+ d.Eq'_ao2
+ deq_aok =
+ deq{-r3x,x-}
+ a{-anC-}
+ d.Eq'_ao5
+ deq_aoj =
+ deq_aoi
+ AbsBinds [] [] [([], deq_aoi, deq_anz)]
+ deq_anz
+ PrelBase.[]{-5i,p-}{i} PrelBase.[]{-5i,p-}{i}
+ = PrelBase.True{-5E,p-}{i}
+ deq_anz
+ (x_r3l PrelBase.:{-55,p-}{i} xs_r3m)
+ (y_r3o PrelBase.:{-55,p-}{i} ys_r3p)
+ = if x_r3l deq_aok y_r3o then
+ deq_aoj xs_r3m ys_r3p
+ else
+ PrelBase.False{-58,p-}{i}
+ deq_anz
+ other1_r3r other2_r3t
+ = PrelBase.False{-58,p-}{i}
+ d.Eq'_anw =
+ ({-dict-} [] [deq_aoi])
+{- nonrec -}
+ghc:junk old iface line?:section::interface ShouldSucceed where {
+ghc:junk old iface line?:section::class Eq' a where {
+ghc:junk old iface line?:section:: deq :: a -> a -> Bool
+ghc:junk old iface line?:section:: };
+ghc:junk old iface line?:section::instance (Eq' a) => Eq' [a] {-# FROMMODULE ShouldSucceed #-}
+ghc:junk old iface line?:section::}
+ghc: module version changed to 1; reason: exports changed
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed Eq'(deq);
+_instances_
+instance _forall_ [a] {Eq' a} => {Eq' [a]} = $d1;
+_declarations_
+1 $d1 _:_ _forall_ [a] {Eq' a} => {Eq' [a]} ;;
+1 $mdeq _:_ _forall_ [a] {Eq' a} => a -> a -> PrelBase.Bool ;;
+1 class Eq' r3w where {deq :: r3w -> r3w -> PrelBase.Bool} ;
-Typechecked:
-fromInt.t16 = int2Integer
-lit.t10 = fromInt.t16 (MkInt 2#)
-AbsBinds [tt12] [d.Num.t14] [(f.t1, ShouldSucceed.f)]
- (d.Eq.t15, sdsel.Num.Eq tt12 d.Num.t14)
- (fromInteger.t8, fromInteger tt12 d.Num.t14)
- (==.t6, (==) tt12 d.Eq.t15)
- {- nonrec -}
- f.t1 :: [tt12] -> [tt12]
- f.t1 (x.r54 : xs.r55)
- = if x.r54 ==.t6 (fromInteger.t8 lit.t10) then
- xs.r55
- else
- [] (tt12)
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+d.Num_aH6 =
+ PrelNum.$d33{-rxe,p-}
+fromInt_aH7 =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Integer{-3h,p-}
+ d.Num_aH6
+lit_aH8 =
+ fromInt_aH7 PrelBase.I#{-5b,p-}{i} 2#
+{- nonrec -}
+AbsBinds [t{-aGW-}] [d.Num_aH1] [([t{-aGW-}], f{-r3f,x-}, f_aGF)]
+ d.Eq_aGZ =
+ PrelBase.scsel_NumPrelBaseEq{-aHb,p-}
+ t{-aGW-}
+ d.Num_aH1
+ ==_aHa =
+ PrelBase.=={-8Y,p-}
+ t{-aGW-}
+ d.Eq_aGZ
+ fromInteger_aH9 =
+ PrelBase.fromInteger{-8S,p-}
+ t{-aGW-}
+ d.Num_aH1
+ f_aGF
+ (x_r3d PrelBase.:{-55,p-}{i} xs_r3e)
+ = if x_r3d ==_aHa (fromInteger_aH9 lit_aH8) then
+ xs_r3e
+ else
+ PrelBase.[]{-5i,p-}{i}
+ t{-aGW-}
+{- nonrec -}
+tc038.hs:3:
+ Warning: Possibly incomplete patterns
+ in the definition of function `f'
+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;
+_declarations_
+1 f _:_ _forall_ [a] {PrelBase.Num a} => [a] -> [a] ;;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucc.A.op1 = /\ a.t0 -> \{-classdict-} [d.Eq.t2] [op1.t1] -> op1.t1
-sdsel.ShouldSucc.A.Eq = /\ a.t0 -> \{-classdict-} [d.Eq.t2] [op1.t1] -> d.Eq.t2
+scsel_APrelBaseEq{-aG7,x-} =
+ _/\_ a{-r3e-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;}
+op1{-r3f,x-} =
+ _/\_ a{-r3e-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;}
{- nonrec -}
-defm.ShouldSucc.A.op1 =
- /\ a.t3 ->
- \{-dict-} d.ShouldSucc.A.t4 ->
- (error (a.t3 -> a.t3))
- "No default method for \"ShouldSucc.A.defm.ShouldSucc.A.op1\"\n"
-
+AbsBinds
+[a{-aG6-}]
+[d.A_aFZ]
+[([a{-aG6-}], $mop1{-rG8,x-}, op1_aG1)]
+ AbsBinds [] [] [([], op1_aG1, op1_aG3)]
+ op1_aG3
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aG6-} -> a{-aG6-}) "Class A Method op1"
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucc 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d15 1 $d32 1 $d7 1 Eq 1;
+PrelNum 1 :: $d18 1;
+_exports_
+ShouldSucc A(op1);
+_declarations_
+1 $mop1 _:_ _forall_ [a] {A a} => a -> a ;;
+1 class {PrelBase.Eq r3e} => A r3e where {op1 :: r3e -> r3e} ;
-Typechecked:
-AbsBinds [a.t2] [d.Eq.t3] [(f.t1, ShouldSucceed.f)]
- (d.Eq.t12, d.Eq.t3)
- (==.t9, (==) a.t2 d.Eq.t12)
- {- nonrec -}
- f.t1 :: a.t2 -> [a.t2]
- f.t1 x.r55 = g.r56 x.r55
- where
- AbsBinds [] [] [(g.t6, g.r56)]
- {- nonrec -}
- g.t6 :: a.t2 -> [a.t2]
- g.t6 y.r57 = if y.r57 ==.t9 x.r55 then
- [] (a.t2)
- else
- [y.r57] (a.t2)
- {- nonrec -}
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds [a{-aG6-}] [d.Eq_aGl] [([a{-aG6-}], f{-r3e,x-}, f_aG3)]
+ d.Eq_aGn =
+ d.Eq_aGl
+ ==_aGo =
+ PrelBase.=={-8Y,p-}
+ a{-aG6-}
+ d.Eq_aGn
+ f_aG3
+ x_r3g = g_r3i x_r3g
+ where
+ {- nonrec -}
+ AbsBinds [] [] [([], g_r3i, g_aG8)]
+ g_aG8
+ y_r3k = if y_r3k ==_aGo x_r3g then
+ PrelBase.[]{-5i,p-}{i}
+ a{-aG6-}
+ else
+ [y_r3k] (a{-aG6-})
+ {- nonrec -}
+{- nonrec -}
+ghc:junk old iface line?:section::interface ShouldSucceed where {
+ghc:junk old iface line?:section::import PreludeCore(Eq)
+ghc:junk old iface line?:section::f :: Eq a => a -> [a]
+ghc:junk old iface line?:section::}
+ghc: module version changed to 1; reason: usages changed
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d15 1 $d27 1 $d32 1 $d7 1 Eq 1;
+PrelNum 1 :: $d18 1;
+_exports_
+ShouldSucceed f;
+_declarations_
+1 f _:_ _forall_ [a] {PrelBase.Eq a} => a -> [a] ;;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.H.op1 = /\ a.t8 -> \{-classdict-} [] [op1.t9] -> op1.t9
+op1{-r3u,x-} =
+ _/\_ a{-r3t-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.H.op1 =
- /\ a.t10 ->
- \{-dict-} d.ShouldSucceed.H.t11 ->
- (error (a.t10 -> a.t10 -> a.t10))
- "No default method for \"ShouldSucceed.H.defm.ShouldSucceed.H.op1\"\n"
+AbsBinds
+[a{-anU-}]
+[d.H_anN]
+[([a{-anU-}], $mop1{-rnq,x-}, op1_anP)]
+ AbsBinds [] [] [([], op1_anP, op1_anR)]
+ op1_anR
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-anU-} -> a{-anU-} -> a{-anU-}) "Class H Method op1"
{- rec -}
-dfun.ShouldSucceed.H.Bool = ({-dict-} [] [const.ShouldSucceed.H.Bool.op1])
-const.ShouldSucceed.H.Bool.op1 :: Bool -> Bool -> Bool
-const.ShouldSucceed.H.Bool.op1
- x.r29 y.r30
- = y.r30
-AbsBinds [] [] [(f.t1, ShouldSucceed.f)]
- (ShouldSucceed.H.op1.t5, const.ShouldSucceed.H.Bool.op1)
- {- nonrec -}
- f.t1 :: Bool -> Int -> Bool
- f.t1 x.r58 y.r59
- = ShouldSucceed.H.op1.t5 x.r58 x.r58
-
+AbsBinds [] [] [([], $d1{-rnZ,x-}, d.H_anE)]
+ AbsBinds [] [] [([], op1_ao0, op1_anH)]
+ op1_anH
+ x_r3o y_r3q
+ = y_r3q
+ d.H_anE =
+ ({-dict-} [] [op1_ao0])
+{- nonrec -}
+d.H_anX =
+ $d1{-rnZ,x-}
+op1_anY =
+ op1{-r3u,x-}
+ PrelBase.Bool{-34,p-}
+ d.H_anX
+{- nonrec -}
+AbsBinds [] [] [([], f{-r1,x-}, f_anp)]
+ f_anp
+ x_r3h y_r3j
+ = op1_anY x_r3h x_r3h
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed f H(op1);
+_instances_
+instance {H PrelBase.Bool} = $d1;
+_declarations_
+1 $d1 _:_ {H PrelBase.Bool} ;;
+1 $mop1 _:_ _forall_ [a] {H a} => a -> a -> a ;;
+1 class H r3t where {op1 :: r3t -> r3t -> r3t} ;
+1 f _:_ PrelBase.Bool -> PrelBase.Int -> PrelBase.Bool ;;
-Typechecked:
-AbsBinds [] [] [(idb.t1, ShouldSucceed.idb)]
- {- nonrec -}
- idb.t1 :: ShouldSucceed.Boolean -> ShouldSucceed.Boolean
- idb.t1
- x.r91 = x.r91
-AbsBinds [a.t12, b.t13] [] [(swap.t4, ShouldSucceed.swap)]
- {- nonrec -}
- swap.t4 :: ShouldSucceed.Pair b.t13 a.t12 -> ShouldSucceed.Pair a.t12 b.t13
- swap.t4
- t.r92 = case t.r92 of
- (ShouldSucceed.Mkpair x.r93 y.r94)
- -> (ShouldSucceed.Mkpair [a.t12, b.t13]) y.r94 x.r93
-AbsBinds [] [] [(neg.t16, ShouldSucceed.neg)]
- {- nonrec -}
- neg.t16 :: ShouldSucceed.Boolean -> ShouldSucceed.Boolean
- neg.t16
- b.r95 = case b.r95 of
- ShouldSucceed.FF
- -> ShouldSucceed.TT
- ShouldSucceed.TT
- -> ShouldSucceed.FF
-AbsBinds [alpha.t26] [] [(null.t20, ShouldSucceed.null)]
- {- nonrec -}
- null.t20 :: ShouldSucceed.List alpha.t26 -> ShouldSucceed.Boolean
- null.t20
- l.r96 = case l.r96 of
- ShouldSucceed.Nil
- -> ShouldSucceed.TT
- (ShouldSucceed.Cons y.r97 ys.r98)
- -> ShouldSucceed.FF
-AbsBinds [a.t30] [] [(idl.t29, ShouldSucceed.idl)]
- {- rec -}
- idl.t29 :: ShouldSucceed.List a.t30 -> ShouldSucceed.List a.t30
- idl.t29
- xs.r99 = case xs.r99 of
- ShouldSucceed.Nil
- -> ShouldSucceed.Nil a.t30
- (ShouldSucceed.Cons y.r100 ys.r101)
- -> (ShouldSucceed.Cons a.t30)
- y.r100 (idl.t29 ys.r101)
-AbsBinds [] [] [(add.t41, ShouldSucceed.add)]
- {- rec -}
- add.t41 :: ShouldSucceed.Nat -> ShouldSucceed.Nat -> ShouldSucceed.Nat
- add.t41
- a.r102 b.r103
- = case a.r102 of
- ShouldSucceed.Zero
- -> b.r103
- (ShouldSucceed.Succ c.r104)
- -> ShouldSucceed.Succ (add.t41 c.r104 b.r103)
-AbsBinds [alpha.t49] [] [(app.t48, ShouldSucceed.app)]
- {- rec -}
- app.t48 ::
- ShouldSucceed.List alpha.t49
- -> ShouldSucceed.List alpha.t49 -> ShouldSucceed.List alpha.t49
- app.t48
- xs.r105 zs.r106
- = case xs.r105 of
- ShouldSucceed.Nil
- -> zs.r106
- (ShouldSucceed.Cons y.r107 ys.r108)
- -> (ShouldSucceed.Cons alpha.t49)
- y.r107 (app.t48 ys.r108 zs.r106)
-AbsBinds [a.t61] [] [(length.t60, ShouldSucceed.length)]
- {- rec -}
- length.t60 :: ShouldSucceed.List a.t61 -> ShouldSucceed.Nat
- length.t60
- xs.r109 = case xs.r109 of
- ShouldSucceed.Nil
- -> ShouldSucceed.Zero
- (ShouldSucceed.Cons y.r110 ys.r111)
- -> ShouldSucceed.Succ (length.t60 ys.r111)
-AbsBinds [] [] [(before.t70, ShouldSucceed.before)]
- {- rec -}
- before.t70 ::
- ShouldSucceed.List ShouldSucceed.Nat
- -> ShouldSucceed.List ShouldSucceed.Nat
- before.t70
- xs.r112 = case xs.r112 of
- ShouldSucceed.Nil
- -> ShouldSucceed.Nil ShouldSucceed.Nat
- (ShouldSucceed.Cons y.r113 ys.r114)
- -> case y.r113 of
- ShouldSucceed.Zero
- -> ShouldSucceed.Nil ShouldSucceed.Nat
- (ShouldSucceed.Succ n.r115)
- -> (ShouldSucceed.Cons
- ShouldSucceed.Nat)
- y.r113 (before.t70 ys.r114)
-AbsBinds [alpha.t95] [] [(reverse.t84, ShouldSucceed.reverse)]
- {- rec -}
- reverse.t84 :: ShouldSucceed.List alpha.t95 -> ShouldSucceed.List alpha.t95
- reverse.t84
- rs.r116 = case rs.r116 of
- ShouldSucceed.Nil
- -> ShouldSucceed.Nil alpha.t95
- (ShouldSucceed.Cons y.r117 ys.r118)
- -> (ShouldSucceed.app alpha.t95)
- (reverse.t84 ys.r118)
- ((ShouldSucceed.Cons alpha.t95)
- y.r117 (ShouldSucceed.Nil alpha.t95))
-AbsBinds [alpha.t108] [] [(flatten.t98, ShouldSucceed.flatten)]
- {- rec -}
- flatten.t98 ::
- ShouldSucceed.Tree alpha.t108 -> ShouldSucceed.List alpha.t108
- flatten.t98
- t.r119 = case t.r119 of
- (ShouldSucceed.Leaf x.r120)
- -> (ShouldSucceed.Cons alpha.t108)
- x.r120 (ShouldSucceed.Nil alpha.t108)
- (ShouldSucceed.Node l.r121 r.r122)
- -> (ShouldSucceed.app alpha.t108)
- (flatten.t98 l.r121) (flatten.t98 r.r122)
-AbsBinds [] [] [(sum.t113, ShouldSucceed.sum)]
- {- rec -}
- sum.t113 :: ShouldSucceed.Tree ShouldSucceed.Nat -> ShouldSucceed.Nat
- sum.t113
- t.r123 = case t.r123 of
- (ShouldSucceed.Leaf t.r124)
- -> t.r124
- (ShouldSucceed.Node l.r125 r.r126)
- -> ShouldSucceed.add
- (sum.t113 l.r125) (sum.t113 r.r126)
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+Leaf{-rg,x-}{i} =
+ _/\_ t{-r5r-} -> \ tpl_B1 ->
+ Leaf{-rg,x-}{i}
+ {_@_ t{-r5r-} tpl_B1}
+Node{-rf,x-}{i} =
+ _/\_ t{-r5r-} -> \ tpl_B1 tpl_B2 ->
+ Node{-rf,x-}{i}
+ {_@_ t{-r5r-} tpl_B1 tpl_B2}
+{- nonrec -}
+Zero{-rl,x-}{i} =
+ Zero{-rl,x-}{i}
+ {}
+Succ{-rk,x-}{i} =
+ \ tpl_B1 ->
+ Succ{-rk,x-}{i}
+ {tpl_B1}
+{- nonrec -}
+Nil{-rq,x-}{i} =
+ _/\_ alpha{-r5u-} ->
+ Nil{-rq,x-}{i}
+ {_@_ alpha{-r5u-}}
+Cons{-rp,x-}{i} =
+ _/\_ alpha{-r5u-} -> \ tpl_B1 tpl_B2 ->
+ Cons{-rp,x-}{i}
+ {_@_ alpha{-r5u-} tpl_B1 tpl_B2}
+{- nonrec -}
+Mkpair{-r5B,x-}{i} =
+ _/\_ a{-r5w-} b{-r5x-} -> \ tpl_B1 tpl_B2 ->
+ Mkpair{-r5B,x-}{i}
+ {_@_ a{-r5w-} _@_ b{-r5x-} tpl_B1 tpl_B2}
+{- nonrec -}
+FF{-rx,x-}{i} =
+ FF{-rx,x-}{i}
+ {}
+TT{-rw,x-}{i} =
+ TT{-rw,x-}{i}
+ {}
+{- rec -}
+AbsBinds [t{-aMR-}] [] [([t{-aMR-}], $d1{-rMX,x-}, d.Eval_aMt)]
+ d.Eval_aMt =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds [] [] [([], $d2{-rMZ,x-}, d.Eval_aMy)]
+ d.Eval_aMy =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds
+[alpha{-aMS-}]
+[]
+[([alpha{-aMS-}], $d3{-rN1,x-}, d.Eval_aME)]
+ d.Eval_aME =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds
+[a{-aMT-}, b{-aMU-}]
+[]
+[([a{-aMT-}, b{-aMU-}], $d4{-rN3,x-}, d.Eval_aML)]
+ d.Eval_aML =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds [] [] [([], $d5{-rN5,x-}, d.Eval_aMQ)]
+ d.Eval_aMQ =
+ ({-dict-} [] [])
+{- nonrec -}
+{- rec -}
+AbsBinds [] [] [([], before{-r4a,x-}, before_aIA)]
+ before_aIA
+ xs_r4Y = case xs_r4Y of
+ Nil{-rq,x-}{i}
+ -> Nil{-rq,x-}{i}
+ Nat{-r5z,x-}
+ (Cons{-rp,x-}{i} y_r51 ys_r52)
+ -> case y_r51 of
+ Zero{-rl,x-}{i}
+ -> Nil{-rq,x-}{i}
+ Nat{-r5z,x-}
+ (Succ{-rk,x-}{i} n_r55)
+ -> Cons{-rp,x-}{i}
+ Nat{-r5z,x-} y_r51 before{-r4a,x-} ys_r52
+{- nonrec -}
+{- rec -}
+AbsBinds [a{-aJ2-}] [] [([a{-aJ2-}], lEngth{-r49,x-}, lEngth_aIZ)]
+ lEngth_aIZ
+ xs_r4S = case xs_r4S of
+ Nil{-rq,x-}{i}
+ -> Zero{-rl,x-}{i}
+ (Cons{-rp,x-}{i} y_r4V ys_r4W)
+ -> Succ{-rk,x-}{i} lEngth{-r49,x-}
+ a{-aJ2-} ys_r4W
+{- nonrec -}
+{- rec -}
+AbsBinds
+[alpha{-aJo-}]
+[]
+[([alpha{-aJo-}], app{-r48,x-}, app_aJl)]
+ app_aJl
+ xs_r4K zs_r4M
+ = case xs_r4K of
+ Nil{-rq,x-}{i}
+ -> zs_r4M
+ (Cons{-rp,x-}{i} y_r4P ys_r4Q)
+ -> Cons{-rp,x-}{i}
+ alpha{-aJo-} y_r4P
+ app{-r48,x-}
+ alpha{-aJo-} ys_r4Q zs_r4M
+{- nonrec -}
+{- rec -}
+AbsBinds
+[alpha{-aJO-}]
+[]
+[([alpha{-aJO-}], rEverse{-r4b,x-}, rEverse_aJL)]
+ rEverse_aJL
+ rs_r57 = case rs_r57 of
+ Nil{-rq,x-}{i}
+ -> Nil{-rq,x-}{i}
+ alpha{-aJO-}
+ (Cons{-rp,x-}{i} y_r5a ys_r5b)
+ -> app{-r48,x-}
+ alpha{-aJO-} rEverse{-r4b,x-}
+ alpha{-aJO-} ys_r5b
+ Cons{-rp,x-}{i}
+ alpha{-aJO-} y_r5a
+ Nil{-rq,x-}{i}
+ alpha{-aJO-}
+{- nonrec -}
+{- rec -}
+AbsBinds
+[alpha{-aKi-}]
+[]
+[([alpha{-aKi-}], flatten{-r4c,x-}, flatten_aKf)]
+ flatten_aKf
+ t_r5d = case t_r5d of
+ (Leaf{-rg,x-}{i} x_r5f)
+ -> Cons{-rp,x-}{i}
+ alpha{-aKi-} x_r5f
+ Nil{-rq,x-}{i}
+ alpha{-aKi-}
+ (Node{-rf,x-}{i} l_r5h r_r5i)
+ -> app{-r48,x-}
+ alpha{-aKi-} flatten{-r4c,x-}
+ alpha{-aKi-} l_r5h
+ flatten{-r4c,x-}
+ alpha{-aKi-} r_r5i
+{- nonrec -}
+{- rec -}
+AbsBinds [] [] [([], add{-r47,x-}, add_aKH)]
+ add_aKH
+ a_r4D b_r4F
+ = case a_r4D of
+ Zero{-rl,x-}{i}
+ -> b_r4F
+ (Succ{-rk,x-}{i} c_r4I)
+ -> Succ{-rk,x-}{i} add{-r47,x-} c_r4I b_r4F
+{- nonrec -}
+{- rec -}
+AbsBinds [] [] [([], sUm{-r4d,x-}, sUm_aKR)]
+ sUm_aKR
+ t_r5k = case t_r5k of
+ (Leaf{-rg,x-}{i} t_r5m)
+ -> t_r5m
+ (Node{-rf,x-}{i} l_r5o r_r5p)
+ -> add{-r47,x-} sUm{-r4d,x-} l_r5o sUm{-r4d,x-} r_r5p
+{- nonrec -}
+{- rec -}
+AbsBinds [a{-aLe-}] [] [([a{-aLe-}], idl{-r46,x-}, idl_aLb)]
+ idl_aLb
+ xs_r4x = case xs_r4x of
+ Nil{-rq,x-}{i}
+ -> Nil{-rq,x-}{i}
+ a{-aLe-}
+ (Cons{-rp,x-}{i} y_r4A ys_r4B)
+ -> Cons{-rp,x-}{i}
+ a{-aLe-} y_r4A
+ idl{-r46,x-}
+ a{-aLe-} ys_r4B
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[alpha{-aLD-}]
+[]
+[([alpha{-aLD-}], nUll{-r45,x-}, nUll_aLA)]
+ nUll_aLA
+ l_r4r = case l_r4r of
+ Nil{-rq,x-}{i}
+ -> TT{-rw,x-}{i}
+ (Cons{-rp,x-}{i} y_r4u ys_r4v)
+ -> FF{-rx,x-}{i}
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], neg{-r44,x-}, neg_aLP)]
+ neg_aLP
+ b_r4n = case b_r4n of
+ FF{-rx,x-}{i}
+ -> TT{-rw,x-}{i}
+ TT{-rw,x-}{i}
+ -> FF{-rx,x-}{i}
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[a{-aM3-}, b{-aM4-}]
+[]
+[([b{-aM4-}, a{-aM3-}], swap{-r43,x-}, swap_aM0)]
+ swap_aM0
+ t_r4i = case t_r4i of
+ (Mkpair{-r5B,x-}{i} x_r4k y_r4l)
+ -> Mkpair{-r5B,x-}{i}
+ [b{-aM4-}, a{-aM3-}] y_r4l x_r4k
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], idb{-r42,x-}, idb_aMl)]
+ idb_aMl
+ x_r4g = x_r4g
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d37 1 $d39 1 $d41 1 $d46 1 Eval 1;
+_exports_
+ShouldSucceed add app before flatten idb idl lEngth nUll neg rEverse sUm swap Boolean(FF TT) List(Nil Cons) Nat(Zero Succ) Pair(Mkpair) Tree(Leaf Node);
+_instances_
+instance _forall_ [a] => {PrelBase.Eval (Tree a)} = $d1;
+instance {PrelBase.Eval Nat} = $d2;
+instance _forall_ [a] => {PrelBase.Eval (List a)} = $d3;
+instance _forall_ [a b] => {PrelBase.Eval (Pair a b)} = $d4;
+instance {PrelBase.Eval Boolean} = $d5;
+_declarations_
+1 $d1 _:_ _forall_ [a] => {PrelBase.Eval (Tree a)} ;;
+1 $d2 _:_ {PrelBase.Eval Nat} ;;
+1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (List a)} ;;
+1 $d4 _:_ _forall_ [a b] => {PrelBase.Eval (Pair a b)} ;;
+1 $d5 _:_ {PrelBase.Eval Boolean} ;;
+1 data Boolean = FF | TT ;
+1 data List r5u = Nil | Cons r5u (List r5u) ;
+1 data Nat = Zero | Succ Nat ;
+1 data Pair r5w r5x = Mkpair r5w r5x ;
+1 data Tree r5r = Leaf r5r | Node (Tree r5r) (Tree r5r) ;
+1 add _:_ Nat -> Nat -> Nat ;;
+1 app _:_ _forall_ [a] => List a -> List a -> List a ;;
+1 before _:_ List Nat -> List Nat ;;
+1 flatten _:_ _forall_ [a] => Tree a -> List a ;;
+1 idb _:_ Boolean -> Boolean ;;
+1 idl _:_ _forall_ [a] => List a -> List a ;;
+1 lEngth _:_ _forall_ [a] => List a -> Nat ;;
+1 nUll _:_ _forall_ [a] => List a -> Boolean ;;
+1 neg _:_ Boolean -> Boolean ;;
+1 rEverse _:_ _forall_ [a] => List a -> List a ;;
+1 sUm _:_ Tree Nat -> Nat ;;
+1 swap _:_ _forall_ [a b] => Pair b a -> Pair a b ;;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.A.op1 = /\ a.t26 -> \{-classdict-} [] [op1.t27] -> op1.t27
+op2{-r3D,x-} =
+ _/\_ b{-r3t-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.A.op1 =
- /\ a.t28 ->
- \{-dict-} d.ShouldSucceed.A.t29 ->
- (error a.t28)
- "No default method for \"ShouldSucceed.A.defm.ShouldSucceed.A.op1\"\n"
+AbsBinds
+[b{-aIu-}]
+[d.B_aIn]
+[([b{-aIu-}], $mop2{-rHi,x-}, op2_aIp)]
+ AbsBinds [] [] [([], op2_aIp, op2_aIr)]
+ op2_aIr
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (b{-aIu-} -> PrelBase.Int{-3g,p-}) "Class B Method op2"
{- nonrec -}
-ShouldSucceed.B.op2 = /\ b.t30 -> \{-classdict-} [] [op2.t31] -> op2.t31
+op1{-r3E,x-} =
+ _/\_ a{-r3B-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.B.op2 =
- /\ b.t32 ->
- \{-dict-} d.ShouldSucceed.B.t33 ->
- (error (b.t32 -> Int))
- "No default method for \"ShouldSucceed.B.defm.ShouldSucceed.B.op2\"\n"
+AbsBinds
+[a{-aID-}]
+[d.A_aIy]
+[([a{-aID-}], $mop1{-rHh,x-}, op1_aIA)]
+ AbsBinds [] [] [([], op1_aIA, op1_aIC)]
+ op1_aIC
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ a{-aID-} "Class A Method op1"
+{- rec -}
+AbsBinds [a{-aHF-}] [d.B_aI1] [([a{-aHF-}], $d1{-rIW,x-}, d.B_aHz)]
+ op2_aIY =
+ op2_aIX
+ AbsBinds [] [] [([], op2_aIX, op2_aHC)]
+ op2_aHC
+ PrelBase.[]{-5i,p-}{i}
+ = lit_aIU
+ op2_aHC
+ (x_r3p PrelBase.:{-55,p-}{i} xs_r3q)
+ = lit_aIR +_aIT (op2_aIY xs_r3q)
+ d.B_aHz =
+ ({-dict-} [] [op2_aIX])
{- rec -}
-dfun.ShouldSucceed.A.Int = ({-dict-} [] [const.ShouldSucceed.A.Int.op1])
-const.ShouldSucceed.A.Int.op1 :: Int
-const.ShouldSucceed.A.Int.op1 = lit.t7
+AbsBinds [] [] [([], $d2{-rIZ,x-}, d.A_aIc)]
+ AbsBinds [] [] [([], op1_aJ0, op1_aIf)]
+ op1_aIf
+ = lit_aIN
+ d.A_aIc =
+ ({-dict-} [] [op1_aJ0])
+{- nonrec -}
+d.Num_aIJ =
+ PrelBase.$d3{-rbv,p-}
+fromInt_aIV =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aIJ
+lit_aIU =
+ fromInt_aIV PrelBase.I#{-5b,p-}{i} 0#
+d.Num_aIM =
+ d.Num_aIJ
++_aIT =
+ PrelBase.+{-rd3,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aIM
+fromInt_aIS =
+ fromInt_aIV
+lit_aIR =
+ fromInt_aIS PrelBase.I#{-5b,p-}{i} 1#
+fromInt_aIQ =
+ fromInt_aIV
+lit_aIN =
+ fromInt_aIQ PrelBase.I#{-5b,p-}{i} 2#
+{- nonrec -}
AbsBinds
-[a.t8]
-[d.ShouldSucceed.B.t9]
-[(d.ShouldSucceed.B.t10, dfun.ShouldSucceed.B.List)]
- (d.ShouldSucceed.B.t25, d.ShouldSucceed.B.t10)
- (ShouldSucceed.B.op2.t23, ShouldSucceed.B.op2 [a.t8] d.ShouldSucceed.B.t25)
- (+.t19, plusInt)
- {- rec -}
- d.ShouldSucceed.B.t10 = ({-dict-} [] [op2.t11])
- op2.t11 :: [a.t8] -> Int
- op2.t11
- [] = lit.t14
- op2.t11
- (x.r14 : xs.r15)
- = lit.t21 +.t19 (ShouldSucceed.B.op2.t23 xs.r15)
-lit.t7 = MkInt 2#
-lit.t14 = MkInt 0#
-lit.t21 = MkInt 1#
-AbsBinds [ot2, a.t3] [d.ShouldSucceed.A.t5] [(f.t1, ShouldSucceed.f)]
- (ShouldSucceed.A.op1.t4, ShouldSucceed.A.op1 a.t3 d.ShouldSucceed.A.t5)
- {- nonrec -}
- f.t1 :: ot2 -> a.t3
- f.t1 x.r61 = ShouldSucceed.A.op1.t4
+[t{-aHr-}, a{-aHo-}]
+[d.A_aHt]
+[([t{-aHr-}, a{-aHo-}], f{-r3C,x-}, f_aHg)]
+ op1_aJ1 =
+ op1{-r3E,x-}
+ a{-aHo-}
+ d.A_aHt
+ f_aHg
+ x_r3h = op1_aJ1
+{- nonrec -}
+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 A(op1) B(op2);
+_instances_
+instance _forall_ [a] {B a} => {B [a]} = $d1;
+instance {A PrelBase.Int} = $d2;
+_declarations_
+1 $d1 _:_ _forall_ [a] {B a} => {B [a]} ;;
+1 $d2 _:_ {A PrelBase.Int} ;;
+1 $mop1 _:_ _forall_ [a] {A a} => a ;;
+1 $mop2 _:_ _forall_ [a] {B a} => a -> PrelBase.Int ;;
+1 class A r3B where {op1 :: r3B} ;
+1 class B r3t where {op2 :: r3t -> PrelBase.Int} ;
+1 f _:_ _forall_ [a b] {A b} => a -> b ;;
-Typechecked:
-AbsBinds [ot2] [] [(f.t1, P.f)]
- {- nonrec -}
- f.t1 :: ot2 -> ()
- f.t1 _ | otherwise = ()
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-auu-}] [] [([t{-auu-}], f{-r1,x-}, f_auo)]
+ f_auo
+ _ | [PrelBase.otherwise{-818,p-}] =
+ PrelBase.(){-60,p-}{i}
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ P 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: otherwise 1;
+_exports_
+P f;
+_declarations_
+1 f _:_ _forall_ [a] => a -> PrelBase.() ;;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-H.B.op2 = /\ a.t11 -> \{-classdict-} [d.H.C.t13] [op2.t12] -> op2.t12
-sdsel.H.B.H.C = /\ a.t11 -> \{-classdict-} [d.H.C.t13] [op2.t12] -> d.H.C.t13
+scsel_BHC{-aow,x-} =
+ _/\_ a{-r3x-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;}
+op2{-r3D,x-} =
+ _/\_ a{-r3x-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;}
{- nonrec -}
-defm.H.B.op2 =
- /\ a.t14 ->
- \{-dict-} d.H.B.t15 ->
- (error (a.t14 -> a.t14 -> a.t14))
- "No default method for \"H.B.defm.H.B.op2\"\n"
+AbsBinds
+[a{-aok-}]
+[d.B_aod]
+[([a{-aok-}], $mop2{-rox,x-}, op2_aof)]
+ AbsBinds [] [] [([], op2_aof, op2_aoh)]
+ op2_aoh
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aok-} -> a{-aok-} -> a{-aok-}) "Class B Method op2"
{- nonrec -}
-H.C.op1 = /\ a.t16 -> \{-classdict-} [] [op1.t17] -> op1.t17
+op1{-r3E,x-} =
+ _/\_ a{-r3C-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.H.C.op1 =
- /\ a.t18 ->
- \{-dict-} d.H.C.t19 ->
- (error (a.t18 -> a.t18))
- "No default method for \"H.C.defm.H.C.op1\"\n"
-AbsBinds [a.t0] [d.H.B.t2, d.H.C.t1] [(d.H.B.t3, dfun.H.B.List)]
- {- rec -}
- d.H.B.t3 = ({-dict-} [d.H.C.t1] [op2.t4])
- op2.t4 :: [a.t0] -> [a.t0] -> [a.t0]
- op2.t4
- xs.r13 ys.r14
- = xs.r13
-AbsBinds [a.t7] [] [(d.H.C.t8, dfun.H.C.List)]
- {- rec -}
- d.H.C.t8 = ({-dict-} [] [op1.t9])
- op1.t9 :: [a.t7] -> [a.t7]
- op1.t9
- xs.r16 = xs.r16
-
+AbsBinds
+[a{-aov-}]
+[d.C_aoo]
+[([a{-aov-}], $mop1{-roy,x-}, op1_aoq)]
+ AbsBinds [] [] [([], op1_aoq, op1_aos)]
+ op1_aos
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aov-} -> a{-aov-}) "Class C Method op1"
+{- rec -}
+AbsBinds [a{-anP-}] [] [([a{-anP-}], $d1{-roz,x-}, d.C_anJ)]
+ AbsBinds [] [] [([], op1_aoA, op1_anM)]
+ op1_anM
+ xs_r3k = xs_r3k
+ d.C_anJ =
+ ({-dict-} [] [op1_aoA])
+{- rec -}
+AbsBinds
+[a{-ao2-}]
+[d.B_ao5, d.C_ao6]
+[([a{-ao2-}], $d2{-roB,x-}, d.B_anW)]
+ d.C_ao7 =
+ d.C_ao6
+ AbsBinds [] [] [([], op2_aoC, op2_anZ)]
+ op2_anZ
+ xs_r3s ys_r3u
+ = xs_r3s
+ d.B_anW =
+ ({-dict-} [d.C_ao7] [op2_aoC])
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ H 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+H B(op2) C(op1);
+_instances_
+instance _forall_ [a] => {C [a]} = $d1;
+instance _forall_ [a] {B a} => {B [a]} = $d2;
+_declarations_
+1 $d1 _:_ _forall_ [a] => {C [a]} ;;
+1 $d2 _:_ _forall_ [a] {B a, C [a]} => {B [a]} ;;
+1 $mop1 _:_ _forall_ [a] {C a} => a -> a ;;
+1 $mop2 _:_ _forall_ [a] {B a} => a -> a -> a ;;
+1 class {C r3x} => B r3x where {op2 :: r3x -> r3x -> r3x} ;
+1 class C r3C where {op1 :: r3C -> r3C} ;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-H.B.op2 = /\ a.t0 -> \{-classdict-} [d.H.C.t2] [op2.t1] -> op2.t1
-sdsel.H.B.H.C = /\ a.t0 -> \{-classdict-} [d.H.C.t2] [op2.t1] -> d.H.C.t2
+scsel_BHC{-anH,x-} =
+ _/\_ a{-r3g-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;}
+op2{-r3m,x-} =
+ _/\_ a{-r3g-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;}
{- nonrec -}
-defm.H.B.op2 =
- /\ a.t3 ->
- \{-dict-} d.H.B.t4 ->
- (error (a.t3 -> a.t3 -> a.t3))
- "No default method for \"H.B.defm.H.B.op2\"\n"
+AbsBinds
+[a{-anv-}]
+[d.B_ano]
+[([a{-anv-}], $mop2{-rnI,x-}, op2_anq)]
+ AbsBinds [] [] [([], op2_anq, op2_ans)]
+ op2_ans
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-anv-} -> a{-anv-} -> a{-anv-}) "Class B Method op2"
{- nonrec -}
-H.C.op1 = /\ a.t5 -> \{-classdict-} [] [op1.t6] -> op1.t6
+op1{-r3o,x-} =
+ _/\_ a{-r3l-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.H.C.op1 =
- /\ a.t7 ->
- \{-dict-} d.H.C.t8 ->
- (error (a.t7 -> a.t7))
- "No default method for \"H.C.defm.H.C.op1\"\n"
-
+AbsBinds
+[a{-anG-}]
+[d.C_anz]
+[([a{-anG-}], $mop1{-rnJ,x-}, op1_anB)]
+ AbsBinds [] [] [([], op1_anB, op1_anD)]
+ op1_anD
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-anG-} -> a{-anG-}) "Class C Method op1"
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ H 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+H B(op2) C(op1);
+_declarations_
+1 $mop1 _:_ _forall_ [a] {C a} => a -> a ;;
+1 $mop2 _:_ _forall_ [a] {B a} => a -> a -> a ;;
+1 class {C r3g} => B r3g where {op2 :: r3g -> r3g -> r3g} ;
+1 class C r3l where {op1 :: r3l -> r3l} ;
-Typechecked:
-AbsBinds [tt8, tt4] [] [(mp.t1, ShouldSucceed.mp)]
- {- rec -}
- mp.t1 :: (tt8 -> tt4) -> [tt8] -> [tt4]
- mp.t1
- f.r61 [] = [] (tt4)
- mp.t1
- f.r62 (x.r63 : xs.r64)
- = ((:) tt4) (f.r62 x.r63) (mp.t1 f.r62 xs.r64)
-AbsBinds [tt17, tt18] [] [(sd.t14, ShouldSucceed.sd)]
- {- nonrec -}
- sd.t14 :: (tt17, tt18) -> tt18
- sd.t14
- (f.r65, s.r66)
- = s.r66
-AbsBinds [ot21, tt29, tt30] [] [(f.t20, ShouldSucceed.f)]
- {- nonrec -}
- f.t20 :: ot21 -> [(tt29, tt30)] -> [tt30]
- f.t20
- x.r58 = ranOAL.r59 [tt29, tt30]
- where
- AbsBinds [tt27, tt28] [] [(ranOAL.t23, ranOAL.r59)]
- {- nonrec -}
- ranOAL.t23 :: [(tt27, tt28)] -> [tt28]
- ranOAL.t23
- xs.r60 = (ShouldSucceed.mp [(tt27, tt28), tt28])
- (ShouldSucceed.sd [tt27, tt28]) xs.r60
- {- nonrec -}
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aBv-}, t{-aBy-}]
+[]
+[([t{-aBv-}, t{-aBy-}], sd{-r3y,x-}, sd_aBq)]
+ sd_aBq
+ (f_r3u, s_r3v)
+ = s_r3v
+{- nonrec -}
+{- rec -}
+AbsBinds
+[t{-aBI-}, t{-aBK-}]
+[]
+[([t{-aBI-}, t{-aBK-}], mp{-r3z,x-}, mp_aBC)]
+ mp_aBC
+ f_r3m PrelBase.[]{-5i,p-}{i}
+ = PrelBase.[]{-5i,p-}{i}
+ t{-aBK-}
+ mp_aBC
+ f_r3p (x_r3r PrelBase.:{-55,p-}{i} xs_r3s)
+ = PrelBase.:{-55,p-}{i}
+ t{-aBK-}
+ (f_r3p x_r3r) (mp_aBC f_r3p xs_r3s)
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aCo-}, t{-aCk-}, t{-aCm-}]
+[]
+[([t{-aCo-}, t{-aCk-}, t{-aCm-}], f{-r3A,x-}, f_aC0)]
+ f_aC0
+ x_r3g = ranOAL_r3i
+ [t{-aCk-}, t{-aCm-}]
+ where
+ {- nonrec -}
+ AbsBinds
+ [t{-aCb-}, t{-aCd-}]
+ []
+ [([t{-aCb-}, t{-aCd-}], ranOAL_r3i, ranOAL_aC4)]
+ ranOAL_aC4
+ xs_r3k = mp{-r3z,x-}
+ [(t{-aCb-}, t{-aCd-}), t{-aCd-}] sd{-r3y,x-}
+ [t{-aCb-}, t{-aCd-}]
+ xs_r3k
+ {- nonrec -}
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed f mp sd OL;
+_declarations_
+1 type OL r3x = [r3x] ;
+1 f _:_ _forall_ [a b c] => a -> [(b, c)] -> [c] ;;
+1 mp _:_ _forall_ [a b] => (a -> b) -> [a] -> [b] ;;
+1 sd _:_ _forall_ [a b] => (a, b) -> b ;;
-Typechecked:
-AbsBinds [tt8, tt4] [] [(map.t1, ShouldSucceed.map)]
- {- rec -}
- map.t1 :: (tt8 -> tt4) -> [tt8] -> [tt4]
- map.t1
- f.r75 [] = [] (tt4)
- map.t1
- f.r76 (x.r77 : xs.r78)
- = ((:) tt4) (f.r76 x.r77) (map.t1 f.r76 xs.r78)
-AbsBinds [tt17, tt18] [] [(snd.t14, ShouldSucceed.snd)]
- {- nonrec -}
- snd.t14 :: (tt17, tt18) -> tt18
- snd.t14
- (f.r79, s.r80)
- = s.r80
-AbsBinds [a.t21, v.t22] [] [(ranOAL.t20, ShouldSucceed.ranOAL)]
- {- nonrec -}
- ranOAL.t20 :: ShouldSucceed.OL (a.t21, v.t22) -> [v.t22]
- ranOAL.t20
- (ShouldSucceed.MkOL xs.r74)
- = (ShouldSucceed.map [(a.t21, v.t22), v.t22])
- (ShouldSucceed.snd [a.t21, v.t22]) xs.r74
-AbsBinds [a.t38, a.t36, b.t37] [] [(ranAFE.t30, ShouldSucceed.ranAFE)]
- {- nonrec -}
- ranAFE.t30 ::
- ShouldSucceed.AFE a.t38 a.t36 b.t37 -> [ShouldSucceed.FG a.t36 b.t37]
- ranAFE.t30
- (ShouldSucceed.MkAFE nfs.r81)
- = (ShouldSucceed.ranOAL [a.t38, ShouldSucceed.FG a.t36 b.t37])
- nfs.r81
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+MkAFE{-r3U,x-}{i} =
+ _/\_ n{-r3M-} a{-r3N-} b{-r3O-} -> \ tpl_B1 ->
+ MkAFE{-r3U,x-}{i}
+ {_@_ n{-r3M-} _@_ a{-r3N-} _@_ b{-r3O-} tpl_B1}
+{- nonrec -}
+MkFG{-r3W,x-}{i} =
+ _/\_ a{-r3Q-} b{-r3R-} -> \ tpl_B1 ->
+ MkFG{-r3W,x-}{i}
+ {_@_ a{-r3Q-} _@_ b{-r3R-} tpl_B1}
+{- nonrec -}
+MkOL{-r3Y,x-}{i} =
+ _/\_ a{-r3T-} -> \ tpl_B1 ->
+ MkOL{-r3Y,x-}{i}
+ {_@_ a{-r3T-} tpl_B1}
+{- rec -}
+AbsBinds
+[n{-aXN-}, a{-aXP-}, b{-aXO-}]
+[]
+[([n{-aXN-}, a{-aXP-}, b{-aXO-}], $d1{-rXV,x-}, d.Eval_aXz)]
+ d.Eval_aXz =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds
+[a{-aXQ-}, b{-aXR-}]
+[]
+[([a{-aXQ-}, b{-aXR-}], $d2{-rXX,x-}, d.Eval_aXG)]
+ d.Eval_aXG =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds [a{-aXS-}] [] [([a{-aXS-}], $d3{-rXZ,x-}, d.Eval_aXM)]
+ d.Eval_aXM =
+ ({-dict-} [] [])
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aWc-}, t{-aWf-}]
+[]
+[([t{-aWc-}, t{-aWf-}], sNd{-r3u,x-}, sNd_aW7)]
+ sNd_aW7
+ (f_r3H, s_r3I)
+ = s_r3I
+{- nonrec -}
+{- rec -}
+AbsBinds
+[t{-aWp-}, t{-aWr-}]
+[]
+[([t{-aWp-}, t{-aWr-}], mAp{-r3v,x-}, mAp_aWj)]
+ mAp_aWj
+ f_r3z PrelBase.[]{-5i,p-}{i}
+ = PrelBase.[]{-5i,p-}{i}
+ t{-aWr-}
+ mAp_aWj
+ f_r3C (x_r3E PrelBase.:{-55,p-}{i} xs_r3F)
+ = PrelBase.:{-55,p-}{i}
+ t{-aWr-}
+ (f_r3C x_r3E) (mAp_aWj f_r3C xs_r3F)
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[a{-aWR-}, v{-aWS-}]
+[]
+[([a{-aWR-}, v{-aWS-}], ranOAL{-r3s,x-}, ranOAL_aWM)]
+ ranOAL_aWM
+ (MkOL{-r3Y,x-}{i} xs_r3x)
+ = mAp{-r3v,x-}
+ [(a{-aWR-}, v{-aWS-}), v{-aWS-}] sNd{-r3u,x-}
+ [a{-aWR-}, v{-aWS-}]
+ xs_r3x
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[n{-aXk-}, a{-aXl-}, b{-aXm-}]
+[]
+[([n{-aXk-}, a{-aXl-}, b{-aXm-}], ranAFE{-r3t,x-}, ranAFE_aXb)]
+ ranAFE_aXb
+ (MkAFE{-r3U,x-}{i} nfs_r3K)
+ = ranOAL{-r3s,x-}
+ [n{-aXk-}, FG{-r3X,x-} a{-aXl-} b{-aXm-}] nfs_r3K
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d37 1 $d39 1 $d41 1 $d44 1 $d46 1 Eval 1;
+PrelTup 1 :: $d13 1;
+_exports_
+ShouldSucceed mAp ranAFE ranOAL sNd AFE(MkAFE) FG(MkFG) OL(MkOL);
+_instances_
+instance _forall_ [a b c] => {PrelBase.Eval (AFE a b c)} = $d1;
+instance _forall_ [a b] => {PrelBase.Eval (FG a b)} = $d2;
+instance _forall_ [a] => {PrelBase.Eval (OL a)} = $d3;
+_declarations_
+1 $d1 _:_ _forall_ [a b c] => {PrelBase.Eval (AFE a b c)} ;;
+1 $d2 _:_ _forall_ [a b] => {PrelBase.Eval (FG a b)} ;;
+1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (OL a)} ;;
+1 data AFE r3M r3N r3O = MkAFE (OL (r3M, FG r3N r3O)) ;
+1 data FG r3Q r3R = MkFG (OL (r3Q, r3R)) ;
+1 data OL r3T = MkOL [r3T] ;
+1 mAp _:_ _forall_ [a b] => (a -> b) -> [a] -> [b] ;;
+1 ranAFE _:_ _forall_ [a b c] => AFE a b c -> [FG b c] ;;
+1 ranOAL _:_ _forall_ [a b] => OL (a, b) -> [b] ;;
+1 sNd _:_ _forall_ [a b] => (a, b) -> b ;;
+
+
+--================================================================================
Typechecked:
-d.Num.t125 = dfun.Num.Integer
-d.Num.t133 = dfun.Num.Integer
-d.Eq.t130 = sdsel.Num.Eq tt105 d.Num.t125
-d.Eq.t138 = sdsel.Num.Eq tt121 d.Num.t133
-fromInt.t124 = fromInt tt105 d.Num.t125
-lit.t106 = fromInt.t124 (MkInt 2#)
-fromInt.t126 = fromInt.t124
-lit.t104 = fromInt.t126 (MkInt 1#)
-d.Eq.t131 = dfun.Eq.Bool
-d.Eq.t129 = dfun.Eq.Tuple2 [tt105, Bool] [d.Eq.t130, d.Eq.t131]
-(==.t128) = (==) (tt105, Bool) d.Eq.t129
-(==.t127) = eqList (tt105, Bool) ==.t128
-(==.t102) = eqList [(tt105, Bool)] ==.t127
-(==.t111) = eqString
-fromInt.t132 = fromInt tt121 d.Num.t133
-lit.t122 = fromInt.t132 (MkInt 3#)
-fromInt.t134 = fromInt.t132
-lit.t120 = fromInt.t134 (MkInt 2#)
-fromInt.t135 = fromInt.t134
-lit.t118 = fromInt.t135 (MkInt 1#)
-(==.t137) = (==) tt121 d.Eq.t138
-(==.t136) = eqList tt121 ==.t137
-(==.t116) = eqList [tt121] ==.t136
-AbsBinds [tt19] [d.Num.t24, d.Ord.t28] [(fib.t1, ShouldSucceed.fib)]
- (fromInt.t23, fromInt tt19 d.Num.t24)
- (lit.t20, fromInt.t23 (MkInt 2#))
- (d.Num.t25, d.Num.t24)
- (-.t18, (-) tt19 d.Num.t25)
- (fromInt.t26, fromInt.t23)
- (lit.t14, fromInt.t26 (MkInt 1#))
- (-.t12, (-.t18))
- (d.Num.t27, d.Num.t25)
- (+.t9, (+) tt19 d.Num.t27)
- (lit.t6, lit.t20)
- (<=.t4, (<=) tt19 d.Ord.t28)
- {- rec -}
- fib.t1 :: tt19 -> tt19
- fib.t1
- n.r64 = if n.r64 <=.t4 lit.t6 then
- n.r64
- else
- (fib.t1 (n.r64 -.t12 lit.t14))
- +.t9 (fib.t1 (n.r64 -.t18 lit.t20))
-AbsBinds [] [] [(oR.t30, ShouldSucceed.oR)]
- {- nonrec -}
- oR.t30 :: Bool -> Bool -> Bool
- oR.t30
- a.r69 b.r70
- = if a.r69 then True else b.r70
-AbsBinds [tt41] [d.Eq.t46] [(mem.t34, ShouldSucceed.mem)]
- (==.t42, (==) tt41 d.Eq.t46)
- {- rec -}
- mem.t34 :: tt41 -> [tt41] -> Bool
- mem.t34
- x.r65 [] = False
- mem.t34
- x.r66 (y.r67 : ys.r68)
- = (x.r66 ==.t42 y.r67) `ShouldSucceed.oR` (mem.t34 x.r66 ys.r68)
-AbsBinds [] [] [(oR1.t48, ShouldSucceed.oR1)]
- {- nonrec -}
- oR1.t48 :: Bool -> Bool -> Bool
- oR1.t48
- a.r75 b.r76
- = if a.r75 then True else b.r76
+{- nonrec -}
+{- nonrec -}
+d.Eq_a11Z =
+ PrelBase.$d7{-rcB,p-}
+d.Eq_a120 =
+ PrelBase.$d32{-rc8,p-}
+d.Eq_a11X =
+ PrelTup.$d9{-ry4,p-}
+ [PrelBase.Int{-3g,p-}, PrelBase.Bool{-34,p-}]
+ [d.Eq_a11Z, d.Eq_a120]
+d.Eq_a11V =
+ PrelBase.$d27{-rc2,p-}
+ (PrelBase.Int{-3g,p-}, PrelBase.Bool{-34,p-})
+ d.Eq_a11X
+d.Eq_a11T =
+ PrelBase.$d27{-rc2,p-}
+ [(PrelBase.Int{-3g,p-}, PrelBase.Bool{-34,p-})]
+ d.Eq_a11V
+==_a12u =
+ PrelBase.=={-8Y,p-}
+ [[(PrelBase.Int{-3g,p-}, PrelBase.Bool{-34,p-})]]
+ d.Eq_a11T
+d.Num_a125 =
+ PrelBase.$d3{-rc5,p-}
+fromInt_a12t =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_a125
+lit_a12s =
+ fromInt_a12t PrelBase.I#{-5b,p-}{i} 1#
+fromInt_a12r =
+ fromInt_a12t
+lit_a12q =
+ fromInt_a12r PrelBase.I#{-5b,p-}{i} 2#
+d.Eq_a12b =
+ PrelBase.$d33{-rc9,p-}
+d.Eq_a129 =
+ PrelBase.$d27{-rc2,p-}
+ PrelBase.Char{-38,p-}
+ d.Eq_a12b
+==_a12p =
+ PrelBase.=={-8Y,p-}
+ [PrelBase.Char{-38,p-}]
+ d.Eq_a129
+d.Eq_a12i =
+ d.Eq_a11Z
+d.Eq_a12g =
+ PrelBase.$d27{-rc2,p-}
+ PrelBase.Int{-3g,p-}
+ d.Eq_a12i
+d.Eq_a12e =
+ PrelBase.$d27{-rc2,p-}
+ [PrelBase.Int{-3g,p-}]
+ d.Eq_a12g
+==_a12o =
+ PrelBase.=={-8Y,p-}
+ [[PrelBase.Int{-3g,p-}]]
+ d.Eq_a12e
+lit_a12n =
+ lit_a12s
+lit_a12m =
+ lit_a12q
+fromInt_a12l =
+ fromInt_a12t
+lit_a12j =
+ fromInt_a12l PrelBase.I#{-5b,p-}{i} 3#
+{- nonrec -}
+AbsBinds [] [] [([], main3{-r47,x-}, main3_aXA)]
+ main3_aXA
+ = [[lit_a12n] (PrelBase.Int{-3g,p-}),
+ [lit_a12m] (PrelBase.Int{-3g,p-})] ([PrelBase.Int{-3g,p-}])
+ ==_a12o [[lit_a12j] (PrelBase.Int{-3g,p-})] ([PrelBase.Int{-3g,p-}])
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], main2{-r48,x-}, main2_aYl)]
+ main2_aYl
+ = "Hello" ==_a12p "Goodbye"
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], main1{-r49,x-}, main1_aYv)]
+ main1_aYv
+ = [[(lit_a12s,
+ PrelBase.True{-5E,p-}{i})] ((PrelBase.Int{-3g,p-}, PrelBase.Bool{-34,p-}))] ([(PrelBase.Int{-3g,p-}, PrelBase.Bool{-34,p-})])
+ ==_a12u [[(lit_a12q,
+ PrelBase.False{-58,p-}{i})] ((PrelBase.Int{-3g,p-}, PrelBase.Bool{-34,p-}))] ([(PrelBase.Int{-3g,p-}, PrelBase.Bool{-34,p-})])
+{- nonrec -}
+{- rec -}
AbsBinds
-[tt61]
-[d.Eq.t77]
-[(mem1.t53, ShouldSucceed.mem1), (mem2.t54, ShouldSucceed.mem2)]
- (==.t62, (==) tt61 d.Eq.t77)
- (==.t73, (==.t62))
- {- rec -}
- mem1.t53 :: tt61 -> [tt61] -> Bool
- mem1.t53
- x.r71 [] = False
- mem1.t53
- x.r72 (y.r73 : ys.r74)
- = (x.r72 ==.t62 y.r73)
- `ShouldSucceed.oR1` (mem2.t54 x.r72 ys.r74)
- mem2.t54 :: tt61 -> [tt61] -> Bool
- mem2.t54
- x.r77 [] = False
- mem2.t54
- x.r78 (y.r79 : ys.r80)
- = (x.r78 ==.t73 y.r79)
- `ShouldSucceed.oR` (mem1.t53 x.r78 ys.r80)
+[t{-aZp-}]
+[d.Eq_aZS]
+[([t{-aZp-}], mem3{-r4b,x-}, mem3_aZc), ([t{-aZp-}],
+ mem4{-r4a,x-},
+ mem4_aZd)]
+ d.Eq_aZQ =
+ PrelBase.$d27{-rc2,p-}
+ t{-aZp-}
+ d.Eq_aZS
+ ==_a12v =
+ PrelBase.=={-8Y,p-}
+ [t{-aZp-}]
+ d.Eq_aZQ
+ mem3_aZc
+ x_r3V PrelBase.[]{-5i,p-}{i}
+ = PrelBase.False{-58,p-}{i}
+ mem3_aZc
+ x_r3Y (y_r40 PrelBase.:{-55,p-}{i} ys_r41)
+ = if [x_r3Y] (t{-aZp-}) ==_a12v [y_r40] (t{-aZp-}) then
+ mem4_aZd x_r3Y ys_r41
+ else
+ PrelBase.False{-58,p-}{i}
+ mem4_aZd
+ y_r43 (x_r45 PrelBase.:{-55,p-}{i} xs_r46)
+ = mem3_aZc y_r43 xs_r46
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], oR1{-r4d,x-}, oR1_aZU)]
+ oR1_aZU
+ a_r3J b_r3L
+ = if a_r3J then PrelBase.True{-5E,p-}{i} else b_r3L
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], oR{-r4f,x-}, oR_a102)]
+ oR_a102
+ a_r3x b_r3z
+ = if a_r3x then PrelBase.True{-5E,p-}{i} else b_r3z
+{- nonrec -}
+{- rec -}
AbsBinds
-[tt87]
-[d.Eq.t98]
-[(mem3.t80, ShouldSucceed.mem3), (mem4.t81, ShouldSucceed.mem4)]
- (==.t97, (==) tt87 d.Eq.t98)
- (==.t89, eqList tt87 ==.t97)
- {- rec -}
- mem3.t80 :: tt87 -> [tt87] -> Bool
- mem3.t80
- x.r81 [] = False
- mem3.t80
- x.r82 (y.r83 : ys.r84)
- = if ([x.r82] (tt87)) ==.t89 ([y.r83] (tt87)) then
- mem4.t81 x.r82 ys.r84
- else
- False
- mem4.t81 :: tt87 -> [tt87] -> Bool
- mem4.t81
- y.r87 (x.r85 : xs.r86)
- = mem3.t80 y.r87 xs.r86
-AbsBinds [] [] [(main1.t100, ShouldSucceed.main1)]
- {- nonrec -}
- main1.t100 :: Bool
- main1.t100
- = ([[(lit.t104, True)] ((tt105, Bool))] ([(tt105, Bool)]))
- ==.t102 ([[(lit.t106, False)] ((tt105, Bool))] ([(tt105, Bool)]))
-AbsBinds [] [] [(main2.t109, ShouldSucceed.main2)]
- {- nonrec -}
- main2.t109 :: Bool
- main2.t109 = "Hello" ==.t111 "Goodbye"
-AbsBinds [] [] [(main3.t114, ShouldSucceed.main3)]
- {- nonrec -}
- main3.t114 :: Bool
- main3.t114
- = ([[lit.t118] (tt121), [lit.t120] (tt121)] ([tt121]))
- ==.t116 ([[lit.t122] (tt121)] ([tt121]))
-
+[t{-a10n-}]
+[d.Eq_a10R]
+[([t{-a10n-}], mem2{-r4c,x-}, mem2_a10a), ([t{-a10n-}],
+ mem1{-r4e,x-},
+ mem1_a10b)]
+ ==_a12x =
+ PrelBase.=={-8Y,p-}
+ t{-a10n-}
+ d.Eq_a10R
+ ==_a12w =
+ ==_a12x
+ mem2_a10a
+ x_r3N PrelBase.[]{-5i,p-}{i}
+ = PrelBase.False{-58,p-}{i}
+ mem2_a10a
+ x_r3Q (y_r3S PrelBase.:{-55,p-}{i} ys_r3T)
+ = (x_r3Q ==_a12x y_r3S) oR{-r4f,x-} (mem1_a10b x_r3Q ys_r3T)
+ mem1_a10b
+ x_r3B PrelBase.[]{-5i,p-}{i}
+ = PrelBase.False{-58,p-}{i}
+ mem1_a10b
+ x_r3E (y_r3G PrelBase.:{-55,p-}{i} ys_r3H)
+ = (x_r3E ==_a12w y_r3G) oR1{-r4d,x-} (mem2_a10a x_r3E ys_r3H)
+{- nonrec -}
+{- rec -}
+AbsBinds
+[t{-a10Z-}]
+[d.Eq_a11c]
+[([t{-a10Z-}], mem{-r4g,x-}, mem_a10T)]
+ ==_a12y =
+ PrelBase.=={-8Y,p-}
+ t{-a10Z-}
+ d.Eq_a11c
+ mem_a10T
+ x_r3p PrelBase.[]{-5i,p-}{i}
+ = PrelBase.False{-58,p-}{i}
+ mem_a10T
+ x_r3s (y_r3u PrelBase.:{-55,p-}{i} ys_r3v)
+ = (x_r3s ==_a12y y_r3u) oR{-r4f,x-} (mem_a10T x_r3s ys_r3v)
+{- nonrec -}
+{- rec -}
+AbsBinds
+[riC{-a11y-}]
+[d.Ord_a11J, d.Num_a11M]
+[([riC{-a11y-}], fib{-r4h,x-}, fib_a11e)]
+ <=_a12H =
+ PrelBase.<={-rdK,p-}
+ riC{-a11y-}
+ d.Ord_a11J
+ fromInt_a12G =
+ PrelBase.fromInt{-8R,p-}
+ riC{-a11y-}
+ d.Num_a11M
+ lit_a12F =
+ fromInt_a12G PrelBase.I#{-5b,p-}{i} 2#
+ d.Num_a11O =
+ d.Num_a11M
+ +_a12E =
+ PrelBase.+{-rdD,p-}
+ riC{-a11y-}
+ d.Num_a11O
+ d.Num_a11Q =
+ d.Num_a11M
+ -_a12D =
+ PrelBase.-{-817,p-}
+ riC{-a11y-}
+ d.Num_a11Q
+ fromInt_a12C =
+ fromInt_a12G
+ lit_a12B =
+ fromInt_a12C PrelBase.I#{-5b,p-}{i} 1#
+ -_a12A =
+ -_a12D
+ lit_a12z =
+ lit_a12F
+ fib_a11e
+ n_r3n = if n_r3n <=_a12H lit_a12F then
+ n_r3n
+ else
+ (fib_a11e n_r3n -_a12D lit_a12B)
+ +_a12E (fib_a11e n_r3n -_a12A lit_a12z)
+{- nonrec -}
+tc049.hs:27:
+ Warning: Possibly incomplete patterns
+ in the definition of function `mem4'
+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 $d14 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d3 1 $d32 1 $d33 1 $d34 1 $d37 1 $d38 1 $d39 1 $d41 1 $d42 1 $d44 1 $d45 1 $d46 1 $d49 1 $d50 1 $d51 1 $d54 1 $d55 1 $d6 1 $d7 1 $d8 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
+PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1;
+PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
+_exports_
+ShouldSucceed fib main1 main2 main3 mem mem1 mem2 mem3 mem4 oR oR1;
+_declarations_
+1 fib _:_ _forall_ [a] {PrelBase.Ord a, PrelBase.Num a} => a -> a ;;
+1 main1 _:_ PrelBase.Bool ;;
+1 main2 _:_ PrelBase.Bool ;;
+1 main3 _:_ PrelBase.Bool ;;
+1 mem _:_ _forall_ [a] {PrelBase.Eq a} => a -> [a] -> PrelBase.Bool ;;
+1 mem1 _:_ _forall_ [a] {PrelBase.Eq a} => a -> [a] -> PrelBase.Bool ;;
+1 mem2 _:_ _forall_ [a] {PrelBase.Eq a} => a -> [a] -> PrelBase.Bool ;;
+1 mem3 _:_ _forall_ [a] {PrelBase.Eq a} => a -> [a] -> PrelBase.Bool ;;
+1 mem4 _:_ _forall_ [a] {PrelBase.Eq a} => a -> [a] -> PrelBase.Bool ;;
+1 oR _:_ PrelBase.Bool -> PrelBase.Bool -> PrelBase.Bool ;;
+1 oR1 _:_ PrelBase.Bool -> PrelBase.Bool -> PrelBase.Bool ;;
+
+
+--================================================================================
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 ;;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Eq'.doubleeq =
- /\ a.t11 -> \{-classdict-} [] [doubleeq.t12] -> doubleeq.t12
+scsel_Ord'ShouldSucceedEq'{-aoN,x-} =
+ _/\_ a{-r3G-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;}
+lt{-r3L,x-} =
+ _/\_ a{-r3G-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;}
{- nonrec -}
-defm.ShouldSucceed.Eq'.doubleeq =
- /\ a.t13 ->
- \{-dict-} d.ShouldSucceed.Eq'.t14 ->
- (error (a.t13 -> a.t13 -> Bool))
- "No default method for \"ShouldSucceed.Eq'.defm.ShouldSucceed.Eq'.doubleeq\"\n"
+AbsBinds
+[a{-aoB-}]
+[d.Ord'_aou]
+[([a{-aoB-}], $mlt{-roO,x-}, lt_aow)]
+ AbsBinds [] [] [([], lt_aow, lt_aoy)]
+ lt_aoy
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aoB-}
+ -> a{-aoB-}
+ -> PrelBase.Bool{-34,p-}) "Class Ord' Method lt"
{- nonrec -}
-ShouldSucceed.Ord'.lt =
- /\ a.t15 -> \{-classdict-} [d.ShouldSucceed.Eq'.t17] [lt.t16] -> lt.t16
-sdsel.ShouldSucceed.Ord'.ShouldSucceed.Eq' =
- /\ a.t15 ->
- \{-classdict-} [d.ShouldSucceed.Eq'.t17] [lt.t16] ->
- d.ShouldSucceed.Eq'.t17
+doubleeq{-r3N,x-} =
+ _/\_ a{-r3K-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.Ord'.lt =
- /\ a.t18 ->
- \{-dict-} d.ShouldSucceed.Ord'.t19 ->
- (error (a.t18 -> a.t18 -> Bool))
- "No default method for \"ShouldSucceed.Ord'.defm.ShouldSucceed.Ord'.lt\"\n"
+AbsBinds
+[a{-aoM-}]
+[d.Eq'_aoF]
+[([a{-aoM-}], $mdoubleeq{-roP,x-}, doubleeq_aoH)]
+ AbsBinds [] [] [([], doubleeq_aoH, doubleeq_aoJ)]
+ doubleeq_aoJ
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aoM-}
+ -> a{-aoM-}
+ -> PrelBase.Bool{-34,p-}) "Class Eq' Method doubleeq"
+{- rec -}
+AbsBinds [] [] [([], $d1{-roQ,x-}, d.Ord'_anQ)]
+ d.Eq'_anU =
+ $d3{-roS,x-}
+ AbsBinds [] [] [([], lt_aoR, lt_anT)]
+ lt_anT
+ x_r3j y_r3l
+ = PrelBase.True{-5E,p-}{i}
+ d.Ord'_anQ =
+ ({-dict-} [d.Eq'_anU] [lt_aoR])
{- rec -}
-dfun.ShouldSucceed.Eq'.Int =
- ({-dict-} [] [const.ShouldSucceed.Eq'.Int.doubleeq])
-const.ShouldSucceed.Eq'.Int.doubleeq :: Int -> Int -> Bool
-const.ShouldSucceed.Eq'.Int.doubleeq
- x.r21 y.r22
- = True
AbsBinds
-[a.t2]
-[d.ShouldSucceed.Eq'.t3]
-[(d.ShouldSucceed.Eq'.t4, dfun.ShouldSucceed.Eq'.List)]
- {- rec -}
- d.ShouldSucceed.Eq'.t4 = ({-dict-} [] [doubleeq.t5])
- doubleeq.t5 :: [a.t2] -> [a.t2] -> Bool
- doubleeq.t5
- x.r24 y.r25
- = True
+[a{-aob-}]
+[d.Eq'_aoe]
+[([a{-aob-}], $d2{-roT,x-}, d.Eq'_ao5)]
+ AbsBinds [] [] [([], doubleeq_aoU, doubleeq_ao8)]
+ doubleeq_ao8
+ x_r3t y_r3v
+ = PrelBase.True{-5E,p-}{i}
+ d.Eq'_ao5 =
+ ({-dict-} [] [doubleeq_aoU])
{- rec -}
-dfun.ShouldSucceed.Ord'.Int =
- ({-dict-} [d.ShouldSucceed.Eq'.t8] [const.ShouldSucceed.Ord'.Int.lt])
-const.ShouldSucceed.Ord'.Int.lt :: Int -> Int -> Bool
-const.ShouldSucceed.Ord'.Int.lt
- x.r53 y.r54
- = True
-d.ShouldSucceed.Eq'.t8 = dfun.ShouldSucceed.Eq'.Int
-
+AbsBinds [] [] [([], $d3{-roS,x-}, d.Eq'_aol)]
+ AbsBinds [] [] [([], doubleeq_aoV, doubleeq_aoo)]
+ doubleeq_aoo
+ x_r3B y_r3D
+ = PrelBase.True{-5E,p-}{i}
+ d.Eq'_aol =
+ ({-dict-} [] [doubleeq_aoV])
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed Eq'(doubleeq) Ord'(lt);
+_instances_
+instance {Ord' PrelBase.Int} = $d1;
+instance _forall_ [a] {Eq' a} => {Eq' [a]} = $d2;
+instance {Eq' PrelBase.Int} = $d3;
+_declarations_
+1 $d1 _:_ {Ord' PrelBase.Int} ;;
+1 $d2 _:_ _forall_ [a] {Eq' a} => {Eq' [a]} ;;
+1 $d3 _:_ {Eq' PrelBase.Int} ;;
+1 $mdoubleeq _:_ _forall_ [a] {Eq' a} => a -> a -> PrelBase.Bool ;;
+1 $mlt _:_ _forall_ [a] {Ord' a} => a -> a -> PrelBase.Bool ;;
+1 class Eq' r3K where {doubleeq :: r3K -> r3K -> PrelBase.Bool} ;
+1 class {Eq' r3G} => Ord' r3G where {lt :: r3G -> r3G -> PrelBase.Bool} ;
-Typechecked:
+--================================================================================
+Typechecked:
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed A B C;
+_declarations_
+1 type A r3i = B r3i ;
+1 type B r3g = C ;
+1 type C = PrelBase.Int ;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Eq'.deq = /\ a.t29 -> \{-classdict-} [] [deq.t30] -> deq.t30
+deq{-r3D,x-} =
+ _/\_ a{-r3B-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.Eq'.deq =
- /\ a.t31 ->
- \{-dict-} d.ShouldSucceed.Eq'.t32 ->
- (error (a.t31 -> a.t31 -> Bool))
- "No default method for \"ShouldSucceed.Eq'.defm.ShouldSucceed.Eq'.deq\"\n"
+AbsBinds
+[a{-aIm-}]
+[d.Eq'_aIf]
+[([a{-aIm-}], $mdeq{-rHb,x-}, deq_aIh)]
+ AbsBinds [] [] [([], deq_aIh, deq_aIj)]
+ deq_aIj
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aIm-}
+ -> a{-aIm-}
+ -> PrelBase.Bool{-34,p-}) "Class Eq' Method deq"
{- rec -}
-dfun.ShouldSucceed.Eq'.Int = ({-dict-} [] [const.ShouldSucceed.Eq'.Int.deq])
-const.ShouldSucceed.Eq'.Int.deq :: Int -> Int -> Bool
-const.ShouldSucceed.Eq'.Int.deq
- x.r29 y.r30
- = True
AbsBinds
-[a.t13]
-[d.ShouldSucceed.Eq'.t14]
-[(d.ShouldSucceed.Eq'.t15, dfun.ShouldSucceed.Eq'.List)]
- (d.ShouldSucceed.Eq'.t27, d.ShouldSucceed.Eq'.t15)
- (ShouldSucceed.Eq'.deq.t26,
- ShouldSucceed.Eq'.deq [a.t13] d.ShouldSucceed.Eq'.t27)
- (d.ShouldSucceed.Eq'.t28, d.ShouldSucceed.Eq'.t14)
- (ShouldSucceed.Eq'.deq.t24,
- ShouldSucceed.Eq'.deq a.t13 d.ShouldSucceed.Eq'.t28)
- {- rec -}
- d.ShouldSucceed.Eq'.t15 = ({-dict-} [] [deq.t16])
- deq.t16 :: [a.t13] -> [a.t13] -> Bool
- deq.t16
- (a.r32 : as.r33) (b.r34 : bs.r35)
- = if ShouldSucceed.Eq'.deq.t24 a.r32 b.r34 then
- ShouldSucceed.Eq'.deq.t26 as.r33 bs.r35
- else
- False
-AbsBinds [tt5] [d.Num.t8, d.ShouldSucceed.Eq'.t10] [(f.t1, ShouldSucceed.f)]
- (fromInt.t7, fromInt tt5 d.Num.t8)
- (lit.t6, fromInt.t7 (MkInt 1#))
- (d.ShouldSucceed.Eq'.t9,
- dfun.ShouldSucceed.Eq'.List tt5 d.ShouldSucceed.Eq'.t10)
- (ShouldSucceed.Eq'.deq.t4,
- ShouldSucceed.Eq'.deq [tt5] d.ShouldSucceed.Eq'.t9)
- {- nonrec -}
- f.t1 :: [tt5] -> Bool
- f.t1 x.r63 = ShouldSucceed.Eq'.deq.t4 x.r63 ([lit.t6] (tt5))
-
+[a{-aHK-}]
+[d.Eq'_aHW]
+[([a{-aHK-}], $d1{-rIn,x-}, d.Eq'_aHA)]
+ d.Eq'_aI0 =
+ d.Eq'_aHW
+ deq_aIq =
+ deq{-r3D,x-}
+ a{-aHK-}
+ d.Eq'_aI0
+ deq_aIp =
+ deq_aIo
+ AbsBinds [] [] [([], deq_aIo, deq_aHD)]
+ deq_aHD
+ (a_r3m PrelBase.:{-55,p-}{i} as_r3n)
+ (b_r3p PrelBase.:{-55,p-}{i} bs_r3q)
+ = if deq_aIq a_r3m b_r3p then
+ deq_aIp as_r3n bs_r3q
+ else
+ PrelBase.False{-58,p-}{i}
+ d.Eq'_aHA =
+ ({-dict-} [] [deq_aIo])
+{- rec -}
+AbsBinds [] [] [([], $d2{-rIr,x-}, d.Eq'_aI6)]
+ AbsBinds [] [] [([], deq_aIs, deq_aI9)]
+ deq_aI9
+ x_r3w y_r3y
+ = PrelBase.True{-5E,p-}{i}
+ d.Eq'_aI6 =
+ ({-dict-} [] [deq_aIs])
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aHl-}]
+[d.Eq'_aHr, d.Num_aHu]
+[([t{-aHl-}], f{-r3C,x-}, f_aHa)]
+ d.Eq'_aHp =
+ $d1{-rIn,x-}
+ t{-aHl-}
+ d.Eq'_aHr
+ deq_aIv =
+ deq{-r3D,x-}
+ [t{-aHl-}]
+ d.Eq'_aHp
+ fromInt_aIu =
+ PrelBase.fromInt{-8R,p-}
+ t{-aHl-}
+ d.Num_aHu
+ lit_aIt =
+ fromInt_aIu PrelBase.I#{-5b,p-}{i} 1#
+ f_aHa
+ x_r3f = deq_aIv x_r3f [lit_aIt] (t{-aHl-})
+{- nonrec -}
+tc053.hs:10:
+ Warning: Possibly incomplete patterns
+ in the definition of function `deq'
+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 Eq'(deq);
+_instances_
+instance _forall_ [a] {Eq' a} => {Eq' [a]} = $d1;
+instance {Eq' PrelBase.Int} = $d2;
+_declarations_
+1 $d1 _:_ _forall_ [a] {Eq' a} => {Eq' [a]} ;;
+1 $d2 _:_ {Eq' PrelBase.Int} ;;
+1 $mdeq _:_ _forall_ [a] {Eq' a} => a -> a -> PrelBase.Bool ;;
+1 class Eq' r3B where {deq :: r3B -> r3B -> PrelBase.Bool} ;
+1 f _:_ _forall_ [a] {Eq' a, PrelBase.Num a} => [a] -> PrelBase.Bool ;;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Eq'.doubleeq =
- /\ a.t16 -> \{-classdict-} [] [doubleeq.t17] -> doubleeq.t17
+scsel_Ord'ShouldSucceedEq'{-aIr,x-} =
+ _/\_ a{-r3B-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;}
+lt{-r3I,x-} =
+ _/\_ a{-r3B-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;}
{- nonrec -}
-defm.ShouldSucceed.Eq'.doubleeq =
- /\ a.t18 ->
- \{-dict-} d.ShouldSucceed.Eq'.t19 ->
- (error (a.t18 -> a.t18 -> Bool))
- "No default method for \"ShouldSucceed.Eq'.defm.ShouldSucceed.Eq'.doubleeq\"\n"
+AbsBinds
+[a{-aIf-}]
+[d.Ord'_aI8]
+[([a{-aIf-}], $mlt{-rHm,x-}, lt_aIa)]
+ AbsBinds [] [] [([], lt_aIa, lt_aIc)]
+ lt_aIc
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aIf-}
+ -> a{-aIf-}
+ -> PrelBase.Bool{-34,p-}) "Class Ord' Method lt"
{- nonrec -}
-ShouldSucceed.Ord'.lt =
- /\ a.t20 -> \{-classdict-} [d.ShouldSucceed.Eq'.t22] [lt.t21] -> lt.t21
-sdsel.ShouldSucceed.Ord'.ShouldSucceed.Eq' =
- /\ a.t20 ->
- \{-classdict-} [d.ShouldSucceed.Eq'.t22] [lt.t21] ->
- d.ShouldSucceed.Eq'.t22
+doubleeq{-r3K,x-} =
+ _/\_ a{-r3G-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.Ord'.lt =
- /\ a.t23 ->
- \{-dict-} d.ShouldSucceed.Ord'.t24 ->
- (error (a.t23 -> a.t23 -> Bool))
- "No default method for \"ShouldSucceed.Ord'.defm.ShouldSucceed.Ord'.lt\"\n"
+AbsBinds
+[a{-aIq-}]
+[d.Eq'_aIj]
+[([a{-aIq-}], $mdoubleeq{-rHn,x-}, doubleeq_aIl)]
+ AbsBinds [] [] [([], doubleeq_aIl, doubleeq_aIn)]
+ doubleeq_aIn
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aIq-}
+ -> a{-aIq-}
+ -> PrelBase.Bool{-34,p-}) "Class Eq' Method doubleeq"
{- rec -}
-dfun.ShouldSucceed.Eq'.Int =
- ({-dict-} [] [const.ShouldSucceed.Eq'.Int.doubleeq])
-const.ShouldSucceed.Eq'.Int.doubleeq :: Int -> Int -> Bool
-const.ShouldSucceed.Eq'.Int.doubleeq
- x.r22 y.r23
- = True
+AbsBinds [] [] [([], $d1{-rIs,x-}, d.Ord'_aHL)]
+ d.Eq'_aHP =
+ $d2{-rIu,x-}
+ AbsBinds [] [] [([], lt_aIt, lt_aHO)]
+ lt_aHO
+ x_r3o y_r3q
+ = PrelBase.True{-5E,p-}{i}
+ d.Ord'_aHL =
+ ({-dict-} [d.Eq'_aHP] [lt_aIt])
{- rec -}
-dfun.ShouldSucceed.Ord'.Int =
- ({-dict-} [d.ShouldSucceed.Eq'.t13] [const.ShouldSucceed.Ord'.Int.lt])
-const.ShouldSucceed.Ord'.Int.lt :: Int -> Int -> Bool
-const.ShouldSucceed.Ord'.Int.lt
- x.r51 y.r52
- = True
-d.ShouldSucceed.Eq'.t13 = dfun.ShouldSucceed.Eq'.Int
+AbsBinds [] [] [([], $d2{-rIu,x-}, d.Eq'_aHZ)]
+ AbsBinds [] [] [([], doubleeq_aIv, doubleeq_aI2)]
+ doubleeq_aI2
+ x_r3w y_r3y
+ = PrelBase.True{-5E,p-}{i}
+ d.Eq'_aHZ =
+ ({-dict-} [] [doubleeq_aIv])
+{- nonrec -}
+{- nonrec -}
AbsBinds
-[a.t4, ot3]
-[d.Num.t9, d.ShouldSucceed.Ord'.t10]
-[(f.t1, ShouldSucceed.f)]
- (fromInt.t8, fromInt a.t4 d.Num.t9)
- (lit.t7, fromInt.t8 (MkInt 1#))
- (ShouldSucceed.Ord'.lt.t5,
- ShouldSucceed.Ord'.lt a.t4 d.ShouldSucceed.Ord'.t10)
- {- nonrec -}
- f.t1 :: a.t4 -> ot3 -> Bool
- f.t1 x.r62 y.r63
- | ShouldSucceed.Ord'.lt.t5 x.r62 lit.t7 = True
- | otherwise = False
-
+[t{-aHw-}, t{-aHB-}]
+[d.Ord'_aHD, d.Num_aHG]
+[([t{-aHw-}, t{-aHB-}], f{-r3H,x-}, f_aHl)]
+ lt_aIy =
+ lt{-r3I,x-}
+ t{-aHw-}
+ d.Ord'_aHD
+ fromInt_aIx =
+ PrelBase.fromInt{-8R,p-}
+ t{-aHw-}
+ d.Num_aHG
+ lit_aIw =
+ fromInt_aIx PrelBase.I#{-5b,p-}{i} 1#
+ f_aHl
+ x_r3h y_r3j
+ | [lt_aIy x_r3h lit_aIw] =
+ PrelBase.True{-5E,p-}{i}
+ | [PrelBase.otherwise{-818,p-}] =
+ PrelBase.False{-58,p-}{i}
+{- nonrec -}
+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 otherwise 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 Eq'(doubleeq) Ord'(lt);
+_instances_
+instance {Ord' PrelBase.Int} = $d1;
+instance {Eq' PrelBase.Int} = $d2;
+_declarations_
+1 $d1 _:_ {Ord' PrelBase.Int} ;;
+1 $d2 _:_ {Eq' PrelBase.Int} ;;
+1 $mdoubleeq _:_ _forall_ [a] {Eq' a} => a -> a -> PrelBase.Bool ;;
+1 $mlt _:_ _forall_ [a] {Ord' a} => a -> a -> PrelBase.Bool ;;
+1 class Eq' r3G where {doubleeq :: r3G -> r3G -> PrelBase.Bool} ;
+1 class {Eq' r3B} => Ord' r3B where {lt :: r3B -> r3B -> PrelBase.Bool} ;
+1 f _:_ _forall_ [a b] {Ord' a, PrelBase.Num a} => a -> b -> PrelBase.Bool ;;
+
+
+--================================================================================
Typechecked:
-AbsBinds [ot6, ot7] [] [(x.t2, ShouldSucceed.x), (y.t3, ShouldSucceed.y)]
- {- nonrec -}
- (x.t2, y.t3) :: (ot6 -> ot6, ot7 -> ot7)
- (x.t2, y.t3)
- = (\ p.r55 -> p.r55,
- \ q.r56 -> q.r56)
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aBi-}, t{-aBk-}]
+[]
+[([t{-aBi-}, t{-aBk-}], x{-r3i,x-}, x_aB3), ([t{-aBi-}, t{-aBk-}],
+ y{-r3h,x-},
+ y_aB4)]
+ (x_aB3, y_aB4)
+ = (\ p_r3e -> p_r3e, \ q_r3g -> q_r3g)
+{- nonrec -}
+NOTE: Simplifier still going after 4 iterations; bailing out.
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed x y;
+_declarations_
+1 x _:_ _forall_ [a b] => a -> a ;;
+1 y _:_ _forall_ [a b] => b -> b ;;
+
+tc056.hs:13:warning:
+ Duplicate class assertion `[(`Eq'',
+ `a'),
+ (`Eq'',
+ `a')]' in context:
+ [(`Eq'',
+ `a'),
+ (`Eq'',
+ `a')]
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Eq'.doubleeq =
- /\ a.t22 -> \{-classdict-} [] [doubleeq.t23] -> doubleeq.t23
+scsel_Ord'ShouldSucceedEq'{-aID,x-} =
+ _/\_ a{-r3D-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;}
+lt{-r3J,x-} =
+ _/\_ a{-r3D-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;}
{- nonrec -}
-defm.ShouldSucceed.Eq'.doubleeq =
- /\ a.t24 ->
- \{-dict-} d.ShouldSucceed.Eq'.t25 ->
- (error (a.t24 -> a.t24 -> Bool))
- "No default method for \"ShouldSucceed.Eq'.defm.ShouldSucceed.Eq'.doubleeq\"\n"
+AbsBinds
+[a{-aIr-}]
+[d.Ord'_aIk]
+[([a{-aIr-}], $mlt{-rHo,x-}, lt_aIm)]
+ AbsBinds [] [] [([], lt_aIm, lt_aIo)]
+ lt_aIo
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aIr-}
+ -> a{-aIr-}
+ -> PrelBase.Bool{-34,p-}) "Class Ord' Method lt"
{- nonrec -}
-ShouldSucceed.Ord'.lt =
- /\ a.t26 -> \{-classdict-} [d.ShouldSucceed.Eq'.t28] [lt.t27] -> lt.t27
-sdsel.ShouldSucceed.Ord'.ShouldSucceed.Eq' =
- /\ a.t26 ->
- \{-classdict-} [d.ShouldSucceed.Eq'.t28] [lt.t27] ->
- d.ShouldSucceed.Eq'.t28
+doubleeq{-r3L,x-} =
+ _/\_ a{-r3H-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.Ord'.lt =
- /\ a.t29 ->
- \{-dict-} d.ShouldSucceed.Ord'.t30 ->
- (error (a.t29 -> a.t29 -> Bool))
- "No default method for \"ShouldSucceed.Ord'.defm.ShouldSucceed.Ord'.lt\"\n"
+AbsBinds
+[a{-aIC-}]
+[d.Eq'_aIv]
+[([a{-aIC-}], $mdoubleeq{-rHp,x-}, doubleeq_aIx)]
+ AbsBinds [] [] [([], doubleeq_aIx, doubleeq_aIz)]
+ doubleeq_aIz
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aIC-}
+ -> a{-aIC-}
+ -> PrelBase.Bool{-34,p-}) "Class Eq' Method doubleeq"
{- rec -}
-dfun.ShouldSucceed.Eq'.Int =
- ({-dict-} [] [const.ShouldSucceed.Eq'.Int.doubleeq])
-const.ShouldSucceed.Eq'.Int.doubleeq :: Int -> Int -> Bool
-const.ShouldSucceed.Eq'.Int.doubleeq
- x.r31 y.r32
- = True
AbsBinds
-[a.t15]
-[d.ShouldSucceed.Eq'.t16, d.ShouldSucceed.Eq'.t17]
-[(d.ShouldSucceed.Eq'.t18, dfun.ShouldSucceed.Eq'.List)]
- {- rec -}
- d.ShouldSucceed.Eq'.t18 = ({-dict-} [] [doubleeq.t19])
- doubleeq.t19 :: [a.t15] -> [a.t15] -> Bool
- doubleeq.t19
- x.r34 y.r35
- = True
+[a{-aHZ-}]
+[d.Eq'_aI2, d.Eq'_aI3]
+[([a{-aHZ-}], $d1{-rIE,x-}, d.Eq'_aHT)]
+ AbsBinds [] [] [([], doubleeq_aIF, doubleeq_aHW)]
+ doubleeq_aHW
+ x_r3q y_r3s
+ = PrelBase.True{-5E,p-}{i}
+ d.Eq'_aHT =
+ ({-dict-} [] [doubleeq_aIF])
+{- rec -}
+AbsBinds [] [] [([], $d2{-rIG,x-}, d.Eq'_aIb)]
+ AbsBinds [] [] [([], doubleeq_aIH, doubleeq_aIe)]
+ doubleeq_aIe
+ x_r3y y_r3A
+ = PrelBase.True{-5E,p-}{i}
+ d.Eq'_aIb =
+ ({-dict-} [] [doubleeq_aIH])
+{- nonrec -}
+{- nonrec -}
AbsBinds
-[tt6, ot3]
-[d.Num.t9, d.ShouldSucceed.Eq'.t11]
-[(f.t1, ShouldSucceed.f)]
- (fromInt.t8, fromInt tt6 d.Num.t9)
- (lit.t7, fromInt.t8 (MkInt 1#))
- (d.ShouldSucceed.Eq'.t12, d.ShouldSucceed.Eq'.t11)
- (d.ShouldSucceed.Eq'.t10,
- dfun.ShouldSucceed.Eq'.List tt6
- [d.ShouldSucceed.Eq'.t11, d.ShouldSucceed.Eq'.t12])
- (ShouldSucceed.Eq'.doubleeq.t5,
- ShouldSucceed.Eq'.doubleeq [tt6] d.ShouldSucceed.Eq'.t10)
- {- nonrec -}
- f.t1 :: [tt6] -> ot3 -> Bool
- f.t1 x.r63 y.r64
- = ShouldSucceed.Eq'.doubleeq.t5 x.r63 ([lit.t7] (tt6))
-
+[t{-aHA-}, t{-aHF-}]
+[d.Eq'_aHJ, d.Num_aHN]
+[([t{-aHA-}, t{-aHF-}], f{-r3I,x-}, f_aHn)]
+ d.Eq'_aHK =
+ d.Eq'_aHJ
+ d.Eq'_aHH =
+ $d1{-rIE,x-}
+ t{-aHA-}
+ [d.Eq'_aHJ, d.Eq'_aHK]
+ doubleeq_aIK =
+ doubleeq{-r3L,x-}
+ [t{-aHA-}]
+ d.Eq'_aHH
+ fromInt_aIJ =
+ PrelBase.fromInt{-8R,p-}
+ t{-aHA-}
+ d.Num_aHN
+ lit_aII =
+ fromInt_aIJ PrelBase.I#{-5b,p-}{i} 1#
+ f_aHn
+ x_r3h y_r3j
+ = doubleeq_aIK x_r3h [lit_aII] (t{-aHA-})
+{- nonrec -}
+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 Eq'(doubleeq) Ord'(lt);
+_instances_
+instance _forall_ [a] {Eq' a, Eq' a} => {Eq' [a]} = $d1;
+instance {Eq' PrelBase.Int} = $d2;
+_declarations_
+1 $d1 _:_ _forall_ [a] {Eq' a, Eq' a} => {Eq' [a]} ;;
+1 $d2 _:_ {Eq' PrelBase.Int} ;;
+1 $mdoubleeq _:_ _forall_ [a] {Eq' a} => a -> a -> PrelBase.Bool ;;
+1 $mlt _:_ _forall_ [a] {Ord' a} => a -> a -> PrelBase.Bool ;;
+1 class Eq' r3H where {doubleeq :: r3H -> r3H -> PrelBase.Bool} ;
+1 class {Eq' r3D} => Ord' r3D where {lt :: r3D -> r3D -> PrelBase.Bool} ;
+1 f _:_ _forall_ [a b] {Eq' a, PrelBase.Num a} => [a] -> b -> PrelBase.Bool ;;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Eq'.deq = /\ a.t38 -> \{-classdict-} [] [deq.t39] -> deq.t39
+deq{-r3R,x-} =
+ _/\_ a{-r3Q-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.Eq'.deq =
- /\ a.t40 ->
- \{-dict-} d.ShouldSucceed.Eq'.t41 ->
- (error (a.t40 -> a.t40 -> Bool))
- "No default method for \"ShouldSucceed.Eq'.defm.ShouldSucceed.Eq'.deq\"\n"
+AbsBinds
+[a{-aIY-}]
+[d.Eq'_aIR]
+[([a{-aIY-}], $mdeq{-rHC,x-}, deq_aIT)]
+ AbsBinds [] [] [([], deq_aIT, deq_aIV)]
+ deq_aIV
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aIY-}
+ -> a{-aIY-}
+ -> PrelBase.Bool{-34,p-}) "Class Eq' Method deq"
{- rec -}
-dfun.ShouldSucceed.Eq'.Int = ({-dict-} [] [const.ShouldSucceed.Eq'.Int.deq])
-const.ShouldSucceed.Eq'.Int.deq :: Int -> Int -> Bool
-const.ShouldSucceed.Eq'.Int.deq
- x.r30 y.r31
- = True
AbsBinds
-[a.t22]
-[d.ShouldSucceed.Eq'.t23]
-[(d.ShouldSucceed.Eq'.t24, dfun.ShouldSucceed.Eq'.List)]
- (d.ShouldSucceed.Eq'.t36, d.ShouldSucceed.Eq'.t24)
- (ShouldSucceed.f.t35, ShouldSucceed.f [a.t22] d.ShouldSucceed.Eq'.t36)
- (d.ShouldSucceed.Eq'.t37, d.ShouldSucceed.Eq'.t23)
- (ShouldSucceed.f.t33, ShouldSucceed.f a.t22 d.ShouldSucceed.Eq'.t37)
- {- rec -}
- d.ShouldSucceed.Eq'.t24 = ({-dict-} [] [deq.t25])
- deq.t25 :: [a.t22] -> [a.t22] -> Bool
- deq.t25
- (a.r33 : as.r34) (b.r35 : bs.r36)
- = ShouldSucceed.dand
- (ShouldSucceed.f.t33 a.r33 b.r35)
- (ShouldSucceed.f.t35 as.r34 bs.r36)
-lit.t17 = MkInt 2#
-lit.t15 = MkInt 1#
-d.ShouldSucceed.Eq'.t43 = dfun.ShouldSucceed.Eq'.Int
-d.ShouldSucceed.Eq'.t42 =
- dfun.ShouldSucceed.Eq'.List Int d.ShouldSucceed.Eq'.t43
-ShouldSucceed.Eq'.deq.t13 = ShouldSucceed.Eq'.deq [Int] d.ShouldSucceed.Eq'.t42
-AbsBinds [] [] [(dand.t1, ShouldSucceed.dand)]
- {- nonrec -}
- dand.t1 :: Bool -> Bool -> Bool
- dand.t1
- True True
- = True
- dand.t1
- x.r65 y.r66
- = False
-AbsBinds [a.t10] [d.ShouldSucceed.Eq'.t7] [(f.t5, ShouldSucceed.f)]
- (d.ShouldSucceed.Eq'.t19, d.ShouldSucceed.Eq'.t7)
- (ShouldSucceed.Eq'.deq.t11,
- ShouldSucceed.Eq'.deq a.t10 d.ShouldSucceed.Eq'.t19)
- {- nonrec -}
- f.t5 :: a.t10 -> a.t10 -> Bool
- f.t5 p.r67 q.r68
- = ShouldSucceed.dand
- (ShouldSucceed.Eq'.deq.t11 p.r67 q.r68)
- (ShouldSucceed.Eq'.deq.t13
- ([lit.t15] (Int)) ([lit.t17] (Int)))
-
+[a{-aIk-}]
+[d.Eq'_aIw]
+[([a{-aIk-}], $d1{-rJf,x-}, d.Eq'_aIa)]
+ d.Eq'_aIA =
+ d.Eq'_aIw
+ f_aJi =
+ f{-r3i,x-}
+ a{-aIk-}
+ d.Eq'_aIA
+ d.Eq'_aIC =
+ d.Eq'_aIa
+ f_aJh =
+ f{-r3i,x-}
+ [a{-aIk-}]
+ d.Eq'_aIC
+ AbsBinds [] [] [([], deq_aJg, deq_aId)]
+ deq_aId
+ (a_r3B PrelBase.:{-55,p-}{i} as_r3C)
+ (b_r3E PrelBase.:{-55,p-}{i} bs_r3F)
+ = dand{-r3j,x-} f_aJi a_r3B b_r3E f_aJh as_r3C bs_r3F
+ d.Eq'_aIa =
+ ({-dict-} [] [deq_aJg])
+{- rec -}
+AbsBinds [] [] [([], $d2{-rJj,x-}, d.Eq'_aII)]
+ AbsBinds [] [] [([], deq_aJk, deq_aIL)]
+ deq_aIL
+ x_r3L y_r3N
+ = PrelBase.True{-5E,p-}{i}
+ d.Eq'_aII =
+ ({-dict-} [] [deq_aJk])
+{- nonrec -}
+d.Eq'_aJ3 =
+ $d2{-rJj,x-}
+d.Eq'_aJ1 =
+ $d1{-rJf,x-}
+ PrelBase.Int{-3g,p-}
+ d.Eq'_aJ3
+deq_aJe =
+ deq{-r3R,x-}
+ [PrelBase.Int{-3g,p-}]
+ d.Eq'_aJ1
+d.Num_aJ7 =
+ PrelBase.$d3{-rbH,p-}
+fromInt_aJd =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_aJ7
+lit_aJc =
+ fromInt_aJd PrelBase.I#{-5b,p-}{i} 1#
+fromInt_aJb =
+ fromInt_aJd
+lit_aJ8 =
+ fromInt_aJb PrelBase.I#{-5b,p-}{i} 2#
+{- nonrec -}
+AbsBinds [] [] [([], dand{-r3j,x-}, dand_aHo)]
+ dand_aHo
+ PrelBase.True{-5E,p-}{i} PrelBase.True{-5E,p-}{i}
+ = PrelBase.True{-5E,p-}{i}
+ dand_aHo
+ x_r3n y_r3p
+ = PrelBase.False{-58,p-}{i}
+{- nonrec -}
+{- nonrec -}
+AbsBinds [a{-aHz-}] [d.Eq'_aHY] [([a{-aHz-}], f{-r3i,x-}, f_aHw)]
+ d.Eq'_aI0 =
+ d.Eq'_aHY
+ deq_aJl =
+ deq{-r3R,x-}
+ a{-aHz-}
+ d.Eq'_aI0
+ f_aHw
+ p_r3r q_r3t
+ = dand{-r3j,x-} deq_aJl p_r3r q_r3t
+ deq_aJe [lit_aJc] (PrelBase.Int{-3g,p-})
+ [lit_aJ8] (PrelBase.Int{-3g,p-})
+{- nonrec -}
+tc057.hs:12:
+ Warning: Possibly incomplete patterns
+ in the definition of function `deq'
+ghc:junk old iface line?:section::interface ShouldSucceed where {
+ghc:junk old iface line?:section::class Eq' a where { deq }
+ghc:junk old iface line?:section::instance <Eq' Int>
+ghc:junk old iface line?:section::instance Eq' a => <Eq' [a]>
+ghc:junk old iface line?:section::dand :: Bool -> Bool -> Bool
+ghc:junk old iface line?:section::f :: Eq' t93 => t93 -> t93 -> Bool
+ghc:junk old iface line?:section::}
+ghc: module version changed to 1; reason: usages changed
+_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 dand f Eq'(deq);
+_instances_
+instance _forall_ [a] {Eq' a} => {Eq' [a]} = $d1;
+instance {Eq' PrelBase.Int} = $d2;
+_declarations_
+1 $d1 _:_ _forall_ [a] {Eq' a} => {Eq' [a]} ;;
+1 $d2 _:_ {Eq' PrelBase.Int} ;;
+1 $mdeq _:_ _forall_ [a] {Eq' a} => a -> a -> PrelBase.Bool ;;
+1 class Eq' r3Q where {deq :: r3Q -> r3Q -> PrelBase.Bool} ;
+1 dand _:_ PrelBase.Bool -> PrelBase.Bool -> PrelBase.Bool ;;
+1 f _:_ _forall_ [a] {Eq' a} => a -> a -> PrelBase.Bool ;;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Eq2.doubleeq =
- /\ a.t25 -> \{-classdict-} [] [doubleeq.t26] -> doubleeq.t26
+scsel_Ord2ShouldSucceedEq2{-aJ0,x-} =
+ _/\_ a{-r3M-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;}
+lt{-r3S,x-} =
+ _/\_ a{-r3M-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;}
{- nonrec -}
-defm.ShouldSucceed.Eq2.doubleeq =
- /\ a.t27 ->
- \{-dict-} d.ShouldSucceed.Eq2.t28 ->
- (error (a.t27 -> a.t27 -> Bool))
- "No default method for \"ShouldSucceed.Eq2.defm.ShouldSucceed.Eq2.doubleeq\"\n"
+AbsBinds
+[a{-aIO-}]
+[d.Ord2_aIH]
+[([a{-aIO-}], $mlt{-rHw,x-}, lt_aIJ)]
+ AbsBinds [] [] [([], lt_aIJ, lt_aIL)]
+ lt_aIL
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aIO-}
+ -> a{-aIO-}
+ -> PrelBase.Bool{-34,p-}) "Class Ord2 Method lt"
{- nonrec -}
-ShouldSucceed.Ord2.lt =
- /\ a.t29 -> \{-classdict-} [d.ShouldSucceed.Eq2.t31] [lt.t30] -> lt.t30
-sdsel.ShouldSucceed.Ord2.ShouldSucceed.Eq2 =
- /\ a.t29 ->
- \{-classdict-} [d.ShouldSucceed.Eq2.t31] [lt.t30] ->
- d.ShouldSucceed.Eq2.t31
+doubleeq{-r3T,x-} =
+ _/\_ a{-r3Q-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.Ord2.lt =
- /\ a.t32 ->
- \{-dict-} d.ShouldSucceed.Ord2.t33 ->
- (error (a.t32 -> a.t32 -> Bool))
- "No default method for \"ShouldSucceed.Ord2.defm.ShouldSucceed.Ord2.lt\"\n"
+AbsBinds
+[a{-aIZ-}]
+[d.Eq2_aIS]
+[([a{-aIZ-}], $mdoubleeq{-rHx,x-}, doubleeq_aIU)]
+ AbsBinds [] [] [([], doubleeq_aIU, doubleeq_aIW)]
+ doubleeq_aIW
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aIZ-}
+ -> a{-aIZ-}
+ -> PrelBase.Bool{-34,p-}) "Class Eq2 Method doubleeq"
{- rec -}
-dfun.ShouldSucceed.Eq2.Int =
- ({-dict-} [] [const.ShouldSucceed.Eq2.Int.doubleeq])
-const.ShouldSucceed.Eq2.Int.doubleeq :: Int -> Int -> Bool
-const.ShouldSucceed.Eq2.Int.doubleeq
- x.r31 y.r32
- = True
AbsBinds
-[a.t15]
-[d.ShouldSucceed.Eq2.t16, d.ShouldSucceed.Ord2.t17]
-[(d.ShouldSucceed.Eq2.t18, dfun.ShouldSucceed.Eq2.List)]
- {- rec -}
- d.ShouldSucceed.Eq2.t18 = ({-dict-} [] [doubleeq.t19])
- doubleeq.t19 :: [a.t15] -> [a.t15] -> Bool
- doubleeq.t19
- xs.r34 ys.r35
- = True
+[a{-aI8-}]
+[d.Eq2_aIb, d.Ord2_aIc]
+[([a{-aI8-}], $d1{-rJ1,x-}, d.Eq2_aI2)]
+ AbsBinds [] [] [([], doubleeq_aJ2, doubleeq_aI5)]
+ doubleeq_aI5
+ xs_r3r ys_r3t
+ = PrelBase.True{-5E,p-}{i}
+ d.Eq2_aI2 =
+ ({-dict-} [] [doubleeq_aJ2])
+{- rec -}
+AbsBinds [] [] [([], $d2{-rJ3,x-}, d.Ord2_aIk)]
+ d.Eq2_aIo =
+ $d3{-rJ5,x-}
+ AbsBinds [] [] [([], lt_aJ4, lt_aIn)]
+ lt_aIn
+ x_r3z y_r3B
+ = PrelBase.True{-5E,p-}{i}
+ d.Ord2_aIk =
+ ({-dict-} [d.Eq2_aIo] [lt_aJ4])
{- rec -}
-dfun.ShouldSucceed.Ord2.Int =
- ({-dict-} [d.ShouldSucceed.Eq2.t22] [const.ShouldSucceed.Ord2.Int.lt])
-const.ShouldSucceed.Ord2.Int.lt :: Int -> Int -> Bool
-const.ShouldSucceed.Ord2.Int.lt
- x.r54 y.r55
- = True
-d.ShouldSucceed.Eq2.t22 = dfun.ShouldSucceed.Eq2.Int
+AbsBinds [] [] [([], $d3{-rJ5,x-}, d.Eq2_aIy)]
+ AbsBinds [] [] [([], doubleeq_aJ6, doubleeq_aIB)]
+ doubleeq_aIB
+ x_r3H y_r3J
+ = PrelBase.True{-5E,p-}{i}
+ d.Eq2_aIy =
+ ({-dict-} [] [doubleeq_aJ6])
+{- nonrec -}
+{- nonrec -}
AbsBinds
-[tt6, ot3]
-[d.Num.t9, d.ShouldSucceed.Ord2.t12]
-[(f.t1, ShouldSucceed.f)]
- (d.ShouldSucceed.Eq2.t11,
- sdsel.ShouldSucceed.Ord2.ShouldSucceed.Eq2 tt6 d.ShouldSucceed.Ord2.t12)
- (fromInt.t8, fromInt tt6 d.Num.t9)
- (lit.t7, fromInt.t8 (MkInt 1#))
- (d.ShouldSucceed.Eq2.t10,
- dfun.ShouldSucceed.Eq2.List tt6
- [d.ShouldSucceed.Eq2.t11, d.ShouldSucceed.Ord2.t12])
- (ShouldSucceed.Eq2.doubleeq.t5,
- ShouldSucceed.Eq2.doubleeq [tt6] d.ShouldSucceed.Eq2.t10)
- {- nonrec -}
- f.t1 :: [tt6] -> ot3 -> Bool
- f.t1 x.r65 y.r66
- = ShouldSucceed.Eq2.doubleeq.t5 x.r65 ([lit.t7] (tt6))
-
+[t{-aHI-}, t{-aHN-}]
+[d.Ord2_aHS, d.Num_aHV]
+[([t{-aHI-}, t{-aHN-}], f{-r3R,x-}, f_aHv)]
+ d.Eq2_aHR =
+ scsel_Ord2ShouldSucceedEq2{-aJ0,x-}
+ t{-aHI-}
+ d.Ord2_aHS
+ d.Eq2_aHP =
+ $d1{-rJ1,x-}
+ t{-aHI-}
+ [d.Eq2_aHR, d.Ord2_aHS]
+ doubleeq_aJ9 =
+ doubleeq{-r3T,x-}
+ [t{-aHI-}]
+ d.Eq2_aHP
+ fromInt_aJ8 =
+ PrelBase.fromInt{-8R,p-}
+ t{-aHI-}
+ d.Num_aHV
+ lit_aJ7 =
+ fromInt_aJ8 PrelBase.I#{-5b,p-}{i} 1#
+ f_aHv
+ x_r3h y_r3j
+ = doubleeq_aJ9 x_r3h [lit_aJ7] (t{-aHI-})
+{- nonrec -}
+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 Eq2(doubleeq) Ord2(lt);
+_instances_
+instance _forall_ [a] {Eq2 a, Ord2 a} => {Eq2 [a]} = $d1;
+instance {Ord2 PrelBase.Int} = $d2;
+instance {Eq2 PrelBase.Int} = $d3;
+_declarations_
+1 $d1 _:_ _forall_ [a] {Eq2 a, Ord2 a} => {Eq2 [a]} ;;
+1 $d2 _:_ {Ord2 PrelBase.Int} ;;
+1 $d3 _:_ {Eq2 PrelBase.Int} ;;
+1 $mdoubleeq _:_ _forall_ [a] {Eq2 a} => a -> a -> PrelBase.Bool ;;
+1 $mlt _:_ _forall_ [a] {Ord2 a} => a -> a -> PrelBase.Bool ;;
+1 class Eq2 r3Q where {doubleeq :: r3Q -> r3Q -> PrelBase.Bool} ;
+1 class {Eq2 r3M} => Ord2 r3M where {lt :: r3M -> r3M -> PrelBase.Bool} ;
+1 f _:_ _forall_ [a b] {Ord2 a, PrelBase.Num a} => [a] -> b -> PrelBase.Bool ;;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Eq2.deq =
- /\ a.t38 -> \{-classdict-} [] [deq.t39 foo.t40] -> deq.t39
-ShouldSucceed.Eq2.foo =
- /\ a.t38 -> \{-classdict-} [] [deq.t39 foo.t40] -> foo.t40
+deq{-r3N,x-} =
+ _/\_ a{-r3K-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;}
+foo{-r3M,x-} =
+ _/\_ a{-r3K-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;}
{- nonrec -}
-defm.ShouldSucceed.Eq2.deq =
- /\ a.t41 ->
- \{-dict-} d.ShouldSucceed.Eq2.t42 ->
- (error (a.t41 -> a.t41 -> Bool))
- "No default method for \"ShouldSucceed.Eq2.defm.ShouldSucceed.Eq2.deq\"\n"
-defm.ShouldSucceed.Eq2.foo =
- /\ a.t43 ->
- \{-dict-} d.ShouldSucceed.Eq2.t44 ->
- (error (a.t43 -> a.t43))
- "No default method for \"ShouldSucceed.Eq2.defm.ShouldSucceed.Eq2.foo\"\n"
+AbsBinds
+[a{-aIS-}]
+[d.Eq2_aIL]
+[([a{-aIS-}], $mdeq{-rHo,x-}, deq_aIN)]
+ AbsBinds [] [] [([], deq_aIN, deq_aIP)]
+ deq_aIP
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aIS-}
+ -> a{-aIS-}
+ -> PrelBase.Bool{-34,p-}) "Class Eq2 Method deq"
+AbsBinds
+[a{-aIS-}]
+[d.Eq2_aIV]
+[([a{-aIS-}], $mfoo{-rHn,x-}, foo_aIX)]
+ AbsBinds [] [] [([], foo_aIX, foo_aIZ)]
+ foo_aIZ
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aIS-} -> a{-aIS-}) "Class Eq2 Method foo"
{- rec -}
-dfun.ShouldSucceed.Eq2.Int =
- ({-dict-}
- []
- [const.ShouldSucceed.Eq2.Int.deq, const.ShouldSucceed.Eq2.Int.foo])
-const.ShouldSucceed.Eq2.Int.deq :: Int -> Int -> Bool
-const.ShouldSucceed.Eq2.Int.deq
- x.r29 y.r30
- = True
-const.ShouldSucceed.Eq2.Int.foo :: Int -> Int
-const.ShouldSucceed.Eq2.Int.foo
- x.r31 = x.r31
AbsBinds
-[a.t14]
-[d.ShouldSucceed.Eq2.t15]
-[(d.ShouldSucceed.Eq2.t16, dfun.ShouldSucceed.Eq2.List)]
- (d.ShouldSucceed.Eq2.t34, d.ShouldSucceed.Eq2.t16)
- (ShouldSucceed.Eq2.foo.t32,
- ShouldSucceed.Eq2.foo [a.t14] d.ShouldSucceed.Eq2.t34)
- (d.ShouldSucceed.Eq2.t35, d.ShouldSucceed.Eq2.t34)
- (ShouldSucceed.Eq2.deq.t30,
- ShouldSucceed.Eq2.deq [a.t14] d.ShouldSucceed.Eq2.t35)
- (d.ShouldSucceed.Eq2.t36, d.ShouldSucceed.Eq2.t15)
- (ShouldSucceed.Eq2.foo.t28,
- ShouldSucceed.Eq2.foo a.t14 d.ShouldSucceed.Eq2.t36)
- (d.ShouldSucceed.Eq2.t37, d.ShouldSucceed.Eq2.t36)
- (ShouldSucceed.Eq2.deq.t26,
- ShouldSucceed.Eq2.deq a.t14 d.ShouldSucceed.Eq2.t37)
- {- rec -}
- d.ShouldSucceed.Eq2.t16 = ({-dict-} [] [deq.t17, foo.t18])
- deq.t17 :: [a.t14] -> [a.t14] -> Bool
- deq.t17
- (a.r33 : as.r34) (b.r35 : bs.r36)
- = if ShouldSucceed.Eq2.deq.t26
- a.r33 (ShouldSucceed.Eq2.foo.t28 b.r35) then
- ShouldSucceed.Eq2.deq.t30
- as.r34 (ShouldSucceed.Eq2.foo.t32 bs.r36)
- else
- False
- foo.t18 :: [a.t14] -> [a.t14]
- foo.t18
- x.r37 = x.r37
-AbsBinds [tt5] [d.Num.t8, d.ShouldSucceed.Eq2.t10] [(f.t1, ShouldSucceed.f)]
- (fromInt.t7, fromInt tt5 d.Num.t8)
- (lit.t6, fromInt.t7 (MkInt 1#))
- (d.ShouldSucceed.Eq2.t9,
- dfun.ShouldSucceed.Eq2.List tt5 d.ShouldSucceed.Eq2.t10)
- (ShouldSucceed.Eq2.deq.t4,
- ShouldSucceed.Eq2.deq [tt5] d.ShouldSucceed.Eq2.t9)
- {- nonrec -}
- f.t1 :: [tt5] -> Bool
- f.t1 x.r65 = ShouldSucceed.Eq2.deq.t4 x.r65 ([lit.t6] (tt5))
-
+[a{-aHX-}]
+[d.Eq2_aIm]
+[([a{-aHX-}], $d1{-rJ2,x-}, d.Eq2_aHN)]
+ d.Eq2_aIp =
+ d.Eq2_aIm
+ deq_aJ8 =
+ deq{-r3N,x-}
+ a{-aHX-}
+ d.Eq2_aIp
+ d.Eq2_aIr =
+ d.Eq2_aIm
+ foo_aJ7 =
+ foo{-r3M,x-}
+ a{-aHX-}
+ d.Eq2_aIr
+ deq_aJ6 =
+ deq_aJ4
+ foo_aJ5 =
+ foo_aJ3
+ AbsBinds [] [] [([], deq_aJ4, deq_aHQ)]
+ deq_aHQ
+ (a_r3n PrelBase.:{-55,p-}{i} as_r3o)
+ (b_r3q PrelBase.:{-55,p-}{i} bs_r3r)
+ = if deq_aJ8 a_r3n foo_aJ7 b_r3q then
+ deq_aJ6 as_r3o foo_aJ5 bs_r3r
+ else
+ PrelBase.False{-58,p-}{i}
+ AbsBinds [] [] [([], foo_aJ3, foo_aIj)]
+ foo_aIj
+ x_r3v = x_r3v
+ d.Eq2_aHN =
+ ({-dict-} [] [deq_aJ4, foo_aJ3])
+{- rec -}
+AbsBinds [] [] [([], $d2{-rJ9,x-}, d.Eq2_aIx)]
+ AbsBinds [] [] [([], deq_aJb, deq_aIA)]
+ deq_aIA
+ x_r3B y_r3D
+ = PrelBase.True{-5E,p-}{i}
+ AbsBinds [] [] [([], foo_aJa, foo_aIG)]
+ foo_aIG
+ x_r3H = x_r3H
+ d.Eq2_aIx =
+ ({-dict-} [] [deq_aJb, foo_aJa])
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aHy-}]
+[d.Eq2_aHE, d.Num_aHH]
+[([t{-aHy-}], f{-r3L,x-}, f_aHm)]
+ d.Eq2_aHC =
+ $d1{-rJ2,x-}
+ t{-aHy-}
+ d.Eq2_aHE
+ deq_aJe =
+ deq{-r3N,x-}
+ [t{-aHy-}]
+ d.Eq2_aHC
+ fromInt_aJd =
+ PrelBase.fromInt{-8R,p-}
+ t{-aHy-}
+ d.Num_aHH
+ lit_aJc =
+ fromInt_aJd PrelBase.I#{-5b,p-}{i} 1#
+ f_aHm
+ x_r3g = deq_aJe x_r3g [lit_aJc] (t{-aHy-})
+{- nonrec -}
+tc059.hs:12:
+ Warning: Possibly incomplete patterns
+ in the definition of function `deq'
+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 Eq2(deq foo);
+_instances_
+instance _forall_ [a] {Eq2 a} => {Eq2 [a]} = $d1;
+instance {Eq2 PrelBase.Int} = $d2;
+_declarations_
+1 $d1 _:_ _forall_ [a] {Eq2 a} => {Eq2 [a]} ;;
+1 $d2 _:_ {Eq2 PrelBase.Int} ;;
+1 $mdeq _:_ _forall_ [a] {Eq2 a} => a -> a -> PrelBase.Bool ;;
+1 $mfoo _:_ _forall_ [a] {Eq2 a} => a -> a ;;
+1 class Eq2 r3K where {deq :: r3K -> r3K -> PrelBase.Bool; foo :: r3K -> r3K} ;
+1 f _:_ _forall_ [a] {Eq2 a, PrelBase.Num a} => [a] -> PrelBase.Bool ;;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Eq2.deq = /\ a.t18 -> \{-classdict-} [] [deq.t19] -> deq.t19
+deq{-r3z,x-} =
+ _/\_ a{-r3y-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.Eq2.deq =
- /\ a.t20 ->
- \{-dict-} d.ShouldSucceed.Eq2.t21 ->
- (error (a.t20 -> a.t20 -> Bool))
- "No default method for \"ShouldSucceed.Eq2.defm.ShouldSucceed.Eq2.deq\"\n"
+AbsBinds
+[a{-aol-}]
+[d.Eq2_aoe]
+[([a{-aol-}], $mdeq{-ro0,x-}, deq_aog)]
+ AbsBinds [] [] [([], deq_aog, deq_aoi)]
+ deq_aoi
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aol-}
+ -> a{-aol-}
+ -> PrelBase.Bool{-34,p-}) "Class Eq2 Method deq"
+{- rec -}
+AbsBinds [] [] [([], $d1{-rom,x-}, d.Eq2_anx)]
+ AbsBinds [] [] [([], deq_aon, deq_anA)]
+ deq_anA
+ x_r3h y_r3j
+ = PrelBase.True{-5E,p-}{i}
+ d.Eq2_anx =
+ ({-dict-} [] [deq_aon])
{- rec -}
-dfun.ShouldSucceed.Eq2.Int = ({-dict-} [] [const.ShouldSucceed.Eq2.Int.deq])
-const.ShouldSucceed.Eq2.Int.deq :: Int -> Int -> Bool
-const.ShouldSucceed.Eq2.Int.deq
- x.r28 y.r29
- = True
AbsBinds
-[a.t2]
-[d.ShouldSucceed.Eq2.t3]
-[(d.ShouldSucceed.Eq2.t4, dfun.ShouldSucceed.Eq2.List)]
- (d.ShouldSucceed.Eq2.t16, d.ShouldSucceed.Eq2.t4)
- (ShouldSucceed.Eq2.deq.t15,
- ShouldSucceed.Eq2.deq [a.t2] d.ShouldSucceed.Eq2.t16)
- (d.ShouldSucceed.Eq2.t17, d.ShouldSucceed.Eq2.t3)
- (ShouldSucceed.Eq2.deq.t13,
- ShouldSucceed.Eq2.deq a.t2 d.ShouldSucceed.Eq2.t17)
- {- rec -}
- d.ShouldSucceed.Eq2.t4 = ({-dict-} [] [deq.t5])
- deq.t5 :: [a.t2] -> [a.t2] -> Bool
- deq.t5
- (a.r31 : as.r32) (b.r33 : bs.r34)
- = if ShouldSucceed.Eq2.deq.t13 a.r31 b.r33 then
- ShouldSucceed.Eq2.deq.t15 as.r32 bs.r34
- else
- False
-
+[a{-anT-}]
+[d.Eq2_ao6]
+[([a{-anT-}], $d2{-roo,x-}, d.Eq2_anJ)]
+ d.Eq2_aoa =
+ d.Eq2_ao6
+ deq_aor =
+ deq{-r3z,x-}
+ a{-anT-}
+ d.Eq2_aoa
+ deq_aoq =
+ deq_aop
+ AbsBinds [] [] [([], deq_aop, deq_anM)]
+ deq_anM
+ (a_r3r PrelBase.:{-55,p-}{i} as_r3s)
+ (b_r3u PrelBase.:{-55,p-}{i} bs_r3v)
+ = if deq_aor a_r3r b_r3u then
+ deq_aoq as_r3s bs_r3v
+ else
+ PrelBase.False{-58,p-}{i}
+ d.Eq2_anJ =
+ ({-dict-} [] [deq_aop])
+{- nonrec -}
+tc060.hs:7:
+ Warning: Possibly incomplete patterns
+ in the definition of function `deq'
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed Eq2(deq);
+_instances_
+instance {Eq2 PrelBase.Int} = $d1;
+instance _forall_ [a] {Eq2 a} => {Eq2 [a]} = $d2;
+_declarations_
+1 $d1 _:_ {Eq2 PrelBase.Int} ;;
+1 $d2 _:_ _forall_ [a] {Eq2 a} => {Eq2 [a]} ;;
+1 $mdeq _:_ _forall_ [a] {Eq2 a} => a -> a -> PrelBase.Bool ;;
+1 class Eq2 r3y where {deq :: r3y -> r3y -> PrelBase.Bool} ;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Eq1.deq = /\ a.t15 -> \{-classdict-} [] [deq.t16] -> deq.t16
+deq{-r3z,x-} =
+ _/\_ a{-r3y-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.Eq1.deq =
- /\ a.t17 ->
- \{-dict-} d.ShouldSucceed.Eq1.t18 ->
- (error (a.t17 -> a.t17 -> Bool))
- "No default method for \"ShouldSucceed.Eq1.defm.ShouldSucceed.Eq1.deq\"\n"
+AbsBinds
+[a{-aoi-}]
+[d.Eq1_aob]
+[([a{-aoi-}], $mdeq{-ro0,x-}, deq_aod)]
+ AbsBinds [] [] [([], deq_aod, deq_aof)]
+ deq_aof
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aoi-}
+ -> a{-aoi-}
+ -> PrelBase.Bool{-34,p-}) "Class Eq1 Method deq"
+{- rec -}
+AbsBinds [] [] [([], $d1{-roj,x-}, d.Eq1_anx)]
+ AbsBinds [] [] [([], deq_aok, deq_anA)]
+ deq_anA
+ x_r3h y_r3j
+ = PrelBase.True{-5E,p-}{i}
+ d.Eq1_anx =
+ ({-dict-} [] [deq_aok])
{- rec -}
-dfun.ShouldSucceed.Eq1.Int = ({-dict-} [] [const.ShouldSucceed.Eq1.Int.deq])
-const.ShouldSucceed.Eq1.Int.deq :: Int -> Int -> Bool
-const.ShouldSucceed.Eq1.Int.deq
- x.r28 y.r29
- = True
AbsBinds
-[a.t2]
-[d.ShouldSucceed.Eq1.t3]
-[(d.ShouldSucceed.Eq1.t4, dfun.ShouldSucceed.Eq1.List)]
- (d.ShouldSucceed.Eq1.t14, d.ShouldSucceed.Eq1.t3)
- (ShouldSucceed.Eq1.deq.t13,
- ShouldSucceed.Eq1.deq a.t2 d.ShouldSucceed.Eq1.t14)
- {- rec -}
- d.ShouldSucceed.Eq1.t4 = ({-dict-} [] [deq.t5])
- deq.t5 :: [a.t2] -> [a.t2] -> Bool
- deq.t5
- (a.r31 : as.r32) (b.r33 : bs.r34)
- = ShouldSucceed.Eq1.deq.t13 a.r31 b.r33
-
+[a{-anT-}]
+[d.Eq1_ao3]
+[([a{-anT-}], $d2{-rol,x-}, d.Eq1_anJ)]
+ d.Eq1_ao7 =
+ d.Eq1_ao3
+ deq_aon =
+ deq{-r3z,x-}
+ a{-anT-}
+ d.Eq1_ao7
+ AbsBinds [] [] [([], deq_aom, deq_anM)]
+ deq_anM
+ (a_r3r PrelBase.:{-55,p-}{i} as_r3s)
+ (b_r3u PrelBase.:{-55,p-}{i} bs_r3v)
+ = deq_aon a_r3r b_r3u
+ d.Eq1_anJ =
+ ({-dict-} [] [deq_aom])
+{- nonrec -}
+tc061.hs:7:
+ Warning: Possibly incomplete patterns
+ in the definition of function `deq'
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed Eq1(deq);
+_instances_
+instance {Eq1 PrelBase.Int} = $d1;
+instance _forall_ [a] {Eq1 a} => {Eq1 [a]} = $d2;
+_declarations_
+1 $d1 _:_ {Eq1 PrelBase.Int} ;;
+1 $d2 _:_ _forall_ [a] {Eq1 a} => {Eq1 [a]} ;;
+1 $mdeq _:_ _forall_ [a] {Eq1 a} => a -> a -> PrelBase.Bool ;;
+1 class Eq1 r3y where {deq :: r3y -> r3y -> PrelBase.Bool} ;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Eq1.deq = /\ a.t28 -> \{-classdict-} [] [deq.t29] -> deq.t29
+deq{-r3G,x-} =
+ _/\_ a{-r3E-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.Eq1.deq =
- /\ a.t30 ->
- \{-dict-} d.ShouldSucceed.Eq1.t31 ->
- (error (a.t30 -> a.t30 -> Bool))
- "No default method for \"ShouldSucceed.Eq1.defm.ShouldSucceed.Eq1.deq\"\n"
+AbsBinds
+[a{-aoL-}]
+[d.Eq1_aoE]
+[([a{-aoL-}], $mdeq{-rnK,x-}, deq_aoG)]
+ AbsBinds [] [] [([], deq_aoG, deq_aoI)]
+ deq_aoI
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aoL-}
+ -> a{-aoL-}
+ -> PrelBase.Bool{-34,p-}) "Class Eq1 Method deq"
{- rec -}
-dfun.ShouldSucceed.Eq1.Int = ({-dict-} [] [const.ShouldSucceed.Eq1.Int.deq])
-const.ShouldSucceed.Eq1.Int.deq :: Int -> Int -> Bool
-const.ShouldSucceed.Eq1.Int.deq
- x.r29 y.r30
- = True
AbsBinds
-[a.t12]
-[d.ShouldSucceed.Eq1.t13]
-[(d.ShouldSucceed.Eq1.t14, dfun.ShouldSucceed.Eq1.List)]
- (d.ShouldSucceed.Eq1.t26, d.ShouldSucceed.Eq1.t14)
- (ShouldSucceed.Eq1.deq.t25,
- ShouldSucceed.Eq1.deq [a.t12] d.ShouldSucceed.Eq1.t26)
- (d.ShouldSucceed.Eq1.t27, d.ShouldSucceed.Eq1.t13)
- (ShouldSucceed.Eq1.deq.t23,
- ShouldSucceed.Eq1.deq a.t12 d.ShouldSucceed.Eq1.t27)
- {- rec -}
- d.ShouldSucceed.Eq1.t14 = ({-dict-} [] [deq.t15])
- deq.t15 :: [a.t12] -> [a.t12] -> Bool
- deq.t15
- (a.r32 : as.r33) (b.r34 : bs.r35)
- = if ShouldSucceed.Eq1.deq.t23 a.r32 b.r34 then
- ShouldSucceed.Eq1.deq.t25 as.r33 bs.r35
- else
- False
-AbsBinds [tt5] [d.ShouldSucceed.Eq1.t9] [(f.t1, ShouldSucceed.f)]
- (d.ShouldSucceed.Eq1.t8,
- dfun.ShouldSucceed.Eq1.List tt5 d.ShouldSucceed.Eq1.t9)
- (ShouldSucceed.Eq1.deq.t7,
- ShouldSucceed.Eq1.deq [tt5] d.ShouldSucceed.Eq1.t8)
- {- nonrec -}
- f.t1 :: [tt5] -> [tt5] -> Bool
- f.t1 x.r63 (y.r64 : ys.r65)
- = ShouldSucceed.Eq1.deq.t7 x.r63 ys.r65
-
+[a{-ao9-}]
+[d.Eq1_aol]
+[([a{-ao9-}], $d1{-roM,x-}, d.Eq1_anZ)]
+ d.Eq1_aop =
+ d.Eq1_aol
+ deq_aoP =
+ deq{-r3G,x-}
+ a{-ao9-}
+ d.Eq1_aop
+ deq_aoO =
+ deq_aoN
+ AbsBinds [] [] [([], deq_aoN, deq_ao2)]
+ deq_ao2
+ (a_r3p PrelBase.:{-55,p-}{i} as_r3q)
+ (b_r3s PrelBase.:{-55,p-}{i} bs_r3t)
+ = if deq_aoP a_r3p b_r3s then
+ deq_aoO as_r3q bs_r3t
+ else
+ PrelBase.False{-58,p-}{i}
+ d.Eq1_anZ =
+ ({-dict-} [] [deq_aoN])
+{- rec -}
+AbsBinds [] [] [([], $d2{-roQ,x-}, d.Eq1_aov)]
+ AbsBinds [] [] [([], deq_aoR, deq_aoy)]
+ deq_aoy
+ x_r3z y_r3B
+ = PrelBase.True{-5E,p-}{i}
+ d.Eq1_aov =
+ ({-dict-} [] [deq_aoR])
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-anH-}] [d.Eq1_anT] [([t{-anH-}], f{-r3F,x-}, f_anB)]
+ d.Eq1_anR =
+ $d1{-roM,x-}
+ t{-anH-}
+ d.Eq1_anT
+ deq_aoS =
+ deq{-r3G,x-}
+ [t{-anH-}]
+ d.Eq1_anR
+ f_anB
+ x_r3f (y_r3h PrelBase.:{-55,p-}{i} ys_r3i)
+ = deq_aoS x_r3f ys_r3i
+{- nonrec -}
+tc062.hs:10:
+ Warning: Possibly incomplete patterns
+ in the definition of function `deq'
+tc062.hs:12:
+ Warning: Possibly incomplete patterns
+ in the definition of function `f'
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed f Eq1(deq);
+_instances_
+instance _forall_ [a] {Eq1 a} => {Eq1 [a]} = $d1;
+instance {Eq1 PrelBase.Int} = $d2;
+_declarations_
+1 $d1 _:_ _forall_ [a] {Eq1 a} => {Eq1 [a]} ;;
+1 $d2 _:_ {Eq1 PrelBase.Int} ;;
+1 $mdeq _:_ _forall_ [a] {Eq1 a} => a -> a -> PrelBase.Bool ;;
+1 class Eq1 r3E where {deq :: r3E -> r3E -> PrelBase.Bool} ;
+1 f _:_ _forall_ [a] {Eq1 a} => [a] -> [a] -> PrelBase.Bool ;;
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-ShouldSucceed.Reps.f = /\ r.t13 -> \{-classdict-} [] [f.t14] -> f.t14
+Tag{-r3K,x-}{i} =
+ _/\_ a{-r3G-} -> \ tpl_B1 ->
+ Tag{-r3K,x-}{i}
+ {_@_ a{-r3G-} tpl_B1}
+{- nonrec -}
+f{-r3I,x-} =
+ _/\_ r{-r3C-} -> \ tpl_B1 ->
+ tpl_B1
{- nonrec -}
-defm.ShouldSucceed.Reps.f =
- /\ r.t15 ->
- \{-dict-} d.ShouldSucceed.Reps.t16 ->
- (error (r.t15 -> r.t15 -> r.t15))
- "No default method for \"ShouldSucceed.Reps.defm.ShouldSucceed.Reps.f\"\n"
-{- rec -}
-dfun.ShouldSucceed.Reps.Bool = ({-dict-} [] [const.ShouldSucceed.Reps.Bool.f])
-const.ShouldSucceed.Reps.Bool.f :: Bool -> Bool -> Bool
-const.ShouldSucceed.Reps.Bool.f
- True True
- = True
-const.ShouldSucceed.Reps.Bool.f
- x.r50 y.r51
- = False
AbsBinds
-[q.t8]
-[]
-[(d.ShouldSucceed.Reps.t9, dfun.ShouldSucceed.Reps.ShouldSucceed.X)]
- {- rec -}
- d.ShouldSucceed.Reps.t9 = ({-dict-} [] [f.t10])
- f.t10 ::
- ShouldSucceed.X q.t8 -> ShouldSucceed.X q.t8 -> ShouldSucceed.X q.t8
- f.t10
- x.r53 y.r54
- = y.r54
-AbsBinds [r.t3] [d.ShouldSucceed.Reps.t5] [(g.t1, ShouldSucceed.g)]
- (ShouldSucceed.Reps.f.t4, ShouldSucceed.Reps.f r.t3 d.ShouldSucceed.Reps.t5)
- {- nonrec -}
- g.t1 :: r.t3 -> r.t3
- g.t1 x.r64 = ShouldSucceed.Reps.f.t4 x.r64 x.r64
-
+[r{-aHm-}]
+[d.Reps_aHf]
+[([r{-aHm-}], $mf{-rGx,x-}, f_aHh)]
+ AbsBinds [] [] [([], f_aHh, f_aHj)]
+ f_aHj
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (r{-aHm-} -> r{-aHm-} -> r{-aHm-}) "Class Reps Method f"
+{- rec -}
+AbsBinds [a{-aHn-}] [] [([a{-aHn-}], $d3{-rHq,x-}, d.Eval_aGM)]
+ d.Eval_aGM =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds [] [] [([], $d1{-rHr,x-}, d.Reps_aGR)]
+ AbsBinds [] [] [([], f_aHs, f_aGU)]
+ f_aGU
+ PrelBase.True{-5E,p-}{i} PrelBase.True{-5E,p-}{i}
+ = PrelBase.True{-5E,p-}{i}
+ f_aGU
+ x_r3o y_r3q
+ = PrelBase.False{-58,p-}{i}
+ d.Reps_aGR =
+ ({-dict-} [] [f_aHs])
+{- rec -}
+AbsBinds [q{-aH9-}] [] [([q{-aH9-}], $d2{-rHt,x-}, d.Reps_aH3)]
+ AbsBinds [] [] [([], f_aHu, f_aH6)]
+ f_aH6
+ x_r3x y_r3z
+ = y_r3z
+ d.Reps_aH3 =
+ ({-dict-} [] [f_aHu])
+{- nonrec -}
+{- nonrec -}
+AbsBinds [r{-aGB-}] [d.Reps_aGG] [([r{-aGB-}], g{-r3H,x-}, g_aGw)]
+ f_aHv =
+ f{-r3I,x-}
+ r{-aGB-}
+ d.Reps_aGG
+ g_aGw
+ x_r3h = f_aHv x_r3h x_r3h
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d37 1 $d39 1 $d41 1 $d46 1 Eval 1;
+_exports_
+ShouldSucceed g Reps(f) X(Tag);
+_instances_
+instance {Reps PrelBase.Bool} = $d1;
+instance _forall_ [a] => {Reps (X a)} = $d2;
+instance _forall_ [a] => {PrelBase.Eval (X a)} = $d3;
+_declarations_
+1 $d1 _:_ {Reps PrelBase.Bool} ;;
+1 $d2 _:_ _forall_ [a] => {Reps (X a)} ;;
+1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (X a)} ;;
+1 $mf _:_ _forall_ [a] {Reps a} => a -> a -> a ;;
+1 class Reps r3C where {f :: r3C -> r3C -> r3C} ;
+1 data X r3G = Tag r3G ;
+1 g _:_ _forall_ [a] {Reps a} => a -> a ;;
-Typechecked:
-AbsBinds [] [] [(idb.t1, ShouldSucceed.idb)]
- {- nonrec -}
- idb.t1 :: ShouldSucceed.Boolean -> ShouldSucceed.Boolean
- idb.t1
- x.r57 = x.r57
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+FF{-r5,x-}{i} =
+ FF{-r5,x-}{i}
+ {}
+TT{-r4,x-}{i} =
+ TT{-r4,x-}{i}
+ {}
+{- rec -}
+AbsBinds [] [] [([], $d1{-rG8,x-}, d.Eval_aG5)]
+ d.Eval_aG5 =
+ ({-dict-} [] [])
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], idb{-r6,x-}, idb_aFY)]
+ idb_aFY
+ x_r3k = x_r3k
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d37 1 $d39 1 $d41 1 $d46 1 Eval 1;
+_exports_
+ShouldSucceed idb Boolean(FF TT);
+_instances_
+instance {PrelBase.Eval Boolean} = $d1;
+_declarations_
+1 $d1 _:_ {PrelBase.Eval Boolean} ;;
+1 data Boolean = FF | TT ;
+1 idb _:_ Boolean -> Boolean ;;
module Digraphs where
import TheUtils
+import Set
+import List (partition )
data Digraph vertex = MkDigraph [vertex]
-"tc065.hs", line 5: import directory list is:
- .:/users/fp/grasp/ghc/imports:/users/fp/grasp/ghc/./driver/.././lib/prelude:/users/fp/grasp/ghc/./driver/.././runtimes/standard
- Can't find .hi file for module `TheUtils'; on input: \n
-ghc2: execution of the Haskell parser had trouble
+
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+Succeeded{-r4G,x-}{i} =
+ _/\_ a{-r8v-} b{-r8w-} -> \ tpl_B1 ->
+ Succeeded{-r4G,x-}{i}
+ {_@_ a{-r8v-} _@_ b{-r8w-} tpl_B1}
+Failed{-r4F,x-}{i} =
+ _/\_ a{-r8v-} b{-r8w-} -> \ tpl_B1 ->
+ Failed{-r4F,x-}{i}
+ {_@_ a{-r8v-} _@_ b{-r8w-} tpl_B1}
+{- nonrec -}
+MkDigraph{-r8L,x-}{i} =
+ _/\_ vertex{-r8G-} -> \ tpl_B1 ->
+ MkDigraph{-r8L,x-}{i}
+ {_@_ vertex{-r8G-} tpl_B1}
+{- nonrec -}
+{- rec -}
+AbsBinds
+[a{-a1lz-}, b{-a1lA-}]
+[]
+[([a{-a1lz-}, b{-a1lA-}], $d1{-r1lE,x-}, d.Eval_a1kX)]
+ d.Eval_a1kX =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds
+[vertex{-a1lB-}]
+[]
+[([vertex{-a1lB-}], $d2{-r1lS,x-}, d.Eval_a1l3)]
+ d.Eval_a1l3 =
+ ({-dict-} [] [])
+{- nonrec -}
+d.Monad_a1l5 =
+ PrelBase.$d24{-rj0,p-}
+>>=_a1lQ =
+ PrelBase.>>={-811,p-}
+ PrelBase.[]{-3j,p-}
+ d.Monad_a1l5
+d.Monad_a1l8 =
+ d.Monad_a1l5
+return_a1lP =
+ PrelBase.return{-816,p-}
+ PrelBase.[]{-3j,p-}
+ d.Monad_a1l8
+d.MonadZero_a1la =
+ PrelBase.$d23{-riZ,p-}
+zero_a1lO =
+ PrelBase.zero{-810,p-}
+ PrelBase.[]{-3j,p-}
+ d.MonadZero_a1la
+d.Functor_a1ld =
+ PrelBase.$d25{-rj1,p-}
+map_a1lN =
+ PrelBase.map{-rkx,p-}
+ PrelBase.[]{-3j,p-}
+ d.Functor_a1ld
+d.MonadPlus_a1lg =
+ PrelBase.$d22{-riY,p-}
+++_a1lM =
+ PrelBase.++{-rnk,p-}
+ PrelBase.[]{-3j,p-}
+ d.MonadPlus_a1lg
+>>=_a1lL =
+ >>=_a1lQ
+return_a1lK =
+ return_a1lP
+>>=_a1lJ =
+ >>=_a1lQ
+return_a1lI =
+ return_a1lP
+>>=_a1lH =
+ >>=_a1lQ
+return_a1lG =
+ return_a1lP
+zero_a1lF =
+ zero_a1lO
+{- nonrec -}
+AbsBinds
+[vertex{-a1ba-}]
+[d.Eq_a1bl]
+[([vertex{-a1ba-}],
+ isRecursiveCycle{-r6x,x-},
+ isRecursiveCycle_a1b5)]
+ d.Eq_a1bp =
+ d.Eq_a1bl
+ d.Eq_a1bq =
+ d.Eq_a1bl
+ d.Eq_a1bn =
+ PrelTup.$d9{-rEY,p-}
+ [vertex{-a1ba-}, vertex{-a1ba-}]
+ [d.Eq_a1bp, d.Eq_a1bq]
+ elem_a1lT =
+ PrelList.elem{-rF6,p-}
+ (vertex{-a1ba-}, vertex{-a1ba-})
+ d.Eq_a1bn
+ isRecursiveCycle_a1b5
+ [vertex_r8n] edges_r8p
+ = (vertex_r8n, vertex_r8n) elem_a1lT edges_r8p
+ isRecursiveCycle_a1b5
+ cycle_r8r edges_r8t
+ = PrelBase.True{-5E,p-}{i}
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[vertex{-a1bC-}, name{-a1bD-}, code{-a1bE-}]
+[d.Eq_a1cs, d.Ord_a1ct]
+[([name{-a1bD-}, vertex{-a1bC-}, code{-a1bE-}],
+ lookupVertex{-r6w,x-},
+ lookupVertex_a1bz)]
+ d.Eq_a1cv =
+ d.Eq_a1cs
+ ==_a1lU =
+ PrelBase.=={-8Y,p-}
+ vertex{-a1bC-}
+ d.Eq_a1cv
+ lookupVertex_a1bz
+ flat_info_r8e vertex_r8g
+ = PrelList.head{-rFm,p-}
+ code{-a1bE-} code_list_r8i
+ where
+ {- nonrec -}
+ AbsBinds [] [] [([], code_list_r8i, code_list_a1bI)]
+ code_list_a1bI
+ = [ code_r8l |
+ (vertex'_r8k, _, _, code_r8l) <- flat_info_r8e, vertex_r8g
+ ==_a1lU vertex'_r8k
+ ]
+ {- nonrec -}
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[vertex{-a1cO-}, name{-a1cR-}, code{-a1cS-}]
+[d.Eq_a1ei, d.Ord_a1ej]
+[([name{-a1cR-}, code{-a1cS-}, vertex{-a1cO-}],
+ mkEdges{-r6v,x-},
+ mkEdges_a1cL)]
+ d.Ord_a1ek =
+ d.Ord_a1ej
+ d.MonadZero_a1el =
+ PrelBase.$d23{-riZ,p-}
+ mkEdges_a1cL
+ vertices_r7U flat_info_r7W
+ = [ (source_vertex_r87, target_vertex_r8c) |
+ (source_vertex_r87, _, used_names_r88, _) <- flat_info_r7W, target_name_r8a <- Set.setToList{-rhd,p-}
+ name{-a1cR-} used_names_r88, target_vertex_r8c <- vertices_defining_a1lV target_name_r8a
+ flat_info_r7W
+ ]
+ where
+ {- nonrec -}
+ AbsBinds
+ [t{-a1d5-}, t{-a1da-}, t{-a1dd-}, a{-a1dg-}, a{-a1di-}]
+ [d.Ord_a1du, d.MonadZero_a1dA]
+ [([t{-a1d5-}, t{-a1da-}, t{-a1dd-}, a{-a1dg-}, a{-a1di-}],
+ vertices_defining_r7Y,
+ vertices_defining_a1cU)]
+ d.Monad_a1dw =
+ PrelBase.scsel_MonadZeroPrelBaseMonad{-a1m0,p-}
+ a{-a1dg-}
+ d.MonadZero_a1dA
+ elementOf_a1lZ =
+ Set.elementOf{-rh5,p-}
+ a{-a1di-}
+ d.Ord_a1du
+ >>=_a1lY =
+ PrelBase.>>={-811,p-}
+ a{-a1dg-}
+ d.Monad_a1dw
+ d.Monad_a1dy =
+ d.Monad_a1dw
+ return_a1lX =
+ PrelBase.return{-816,p-}
+ a{-a1dg-}
+ d.Monad_a1dy
+ zero_a1lW =
+ PrelBase.zero{-810,p-}
+ a{-a1dg-}
+ d.MonadZero_a1dA
+ vertices_defining_a1cU
+ name_r80 flat_info_r82
+ = [ vertex_r84 |
+ (vertex_r84, names_defined_r85, _, _) <- flat_info_r82, name_r80
+ elementOf_a1lZ names_defined_r85
+ ]
+ {- nonrec -}
+ vertices_defining_a1lV =
+ vertices_defining_r7Y
+ [vertex{-a1cO-}, Set.Set{-rh2,p-} name{-a1cR-}, code{-a1cS-}, PrelBase.[]{-3j,p-}, name{-a1cR-}]
+ [d.Ord_a1ek, d.MonadZero_a1el]
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[vertex{-a1eC-}, name{-a1eD-}, code{-a1eE-}]
+[]
+[([name{-a1eD-}, code{-a1eE-}, vertex{-a1eC-}],
+ mkVertices{-r6u,x-},
+ mkVertices_a1ez)]
+ mkVertices_a1ez
+ info_r7Q
+ = [ vertex_r7S |
+ (vertex_r7S, _, _, _) <- info_r7Q ]
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[vertex{-a1ff-}]
+[d.Eq_a1fs]
+[([vertex{-a1ff-}], isCyclic{-r6s,x-}, isCyclic_a1fc)]
+ d.Eq_a1fw =
+ d.Eq_a1fs
+ d.Eq_a1fx =
+ d.Eq_a1fs
+ d.Eq_a1fu =
+ PrelTup.$d9{-rEY,p-}
+ [vertex{-a1ff-}, vertex{-a1ff-}]
+ [d.Eq_a1fw, d.Eq_a1fx]
+ elem_a1m1 =
+ PrelList.elem{-rF6,p-}
+ (vertex{-a1ff-}, vertex{-a1ff-})
+ d.Eq_a1fu
+ isCyclic_a1fc
+ edges_r7w [v_r7y]
+ = (v_r7y, v_r7y) elem_a1m1 edges_r7w
+ isCyclic_a1fc
+ edges_r7A vs_r7C
+ = PrelBase.True{-5E,p-}{i}
+{- nonrec -}
+{- rec -}
+AbsBinds
+[t{-a1gi-}]
+[d.Eq_a1gA]
+[([t{-a1gi-}], dfs{-r6y,x-}, dfs_a1fz)]
+ elem_a1m2 =
+ PrelList.elem{-rF6,p-}
+ t{-a1gi-}
+ d.Eq_a1gA
+ dfs_a1fz
+ r_r7f (vs_r7h, ns_r7i) PrelBase.[]{-5i,p-}{i}
+ = (vs_r7h, ns_r7i)
+ dfs_a1fz
+ r_r7l (vs_r7n, ns_r7o) (x_r7q PrelBase.:{-55,p-}{i} xs_r7r)
+ | [x_r7q elem_a1m2 vs_r7n] =
+ dfs_a1fz r_r7l (vs_r7n, ns_r7o) xs_r7r
+ | [PrelBase.otherwise{-818,p-}] =
+ dfs_a1fz r_r7l
+ (vs'_r7t,
+ ++_a1lM
+ t{-a1gi-}
+ (PrelBase.:{-55,p-}{i}
+ t{-a1gi-}
+ x_r7q ns'_r7u)
+ ns_r7o)
+ xs_r7r
+ where
+ {- nonrec -}
+ AbsBinds [] [] [([], vs'_r7t, vs'_a1g4), ([], ns'_r7u, ns'_a1g5)]
+ (vs'_a1g4, ns'_a1g5)
+ = dfs_a1fz r_r7l
+ (PrelBase.:{-55,p-}{i}
+ t{-a1gi-}
+ x_r7q vs_r7n,
+ PrelBase.[]{-5i,p-}{i}
+ t{-a1gi-})
+ r_r7l x_r7q
+ {- nonrec -}
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[vertex{-a1gK-}]
+[d.Eq_a1ju]
+[([vertex{-a1gK-}],
+ stronglyConnComp{-r6r,x-},
+ stronglyConnComp_a1gH)]
+ d.Eq_a1jv =
+ d.Eq_a1ju
+ d.Eq_a1jq =
+ d.Eq_a1ju
+ d.Eq_a1jx =
+ d.Eq_a1ju
+ dfs_a1m3 =
+ dfs{-r6y,x-}
+ vertex{-a1gK-}
+ d.Eq_a1jx
+ d.Eq_a1jr =
+ d.Eq_a1ju
+ stronglyConnComp_a1gH
+ es_r6B vs_r6D
+ = PrelTup.snd{-rF4,p-}
+ [[vertex{-a1gK-}], [[vertex{-a1gK-}]]] span_tree_a1m4 new_range_a1m6 reversed_edges_r6F
+ (PrelBase.[]{-5i,p-}{i}
+ vertex{-a1gK-},
+ PrelBase.[]{-5i,p-}{i}
+ [vertex{-a1gK-}])
+ PrelTup.snd{-rF4,p-}
+ [[vertex{-a1gK-}], [vertex{-a1gK-}]] dfs_a1m3 new_range_a1m5 es_r6B
+ (PrelBase.[]{-5i,p-}{i}
+ vertex{-a1gK-},
+ PrelBase.[]{-5i,p-}{i}
+ vertex{-a1gK-})
+ vs_r6D
+ where
+ {- rec -}
+ AbsBinds
+ [t{-a1h2-}]
+ [d.Eq_a1hJ]
+ [([t{-a1h2-}], span_tree_r6I, span_tree_a1gO)]
+ elem_a1m8 =
+ PrelList.elem{-rF6,p-}
+ t{-a1h2-}
+ d.Eq_a1hJ
+ d.Eq_a1hL =
+ d.Eq_a1hJ
+ dfs_a1m7 =
+ dfs{-r6y,x-}
+ t{-a1h2-}
+ d.Eq_a1hL
+ span_tree_a1gO
+ r_r6Y (vs_r70, ns_r71) PrelBase.[]{-5i,p-}{i}
+ = (vs_r70, ns_r71)
+ span_tree_a1gO
+ r_r74 (vs_r76, ns_r77) (x_r79 PrelBase.:{-55,p-}{i} xs_r7a)
+ | [x_r79 elem_a1m8 vs_r76] =
+ span_tree_a1gO r_r74 (vs_r76, ns_r77) xs_r7a
+ | [PrelBase.otherwise{-818,p-}] =
+ span_tree_a1gO r_r74
+ (vs'_r7c,
+ PrelBase.:{-55,p-}{i}
+ [t{-a1h2-}]
+ (PrelBase.:{-55,p-}{i}
+ t{-a1h2-}
+ x_r79 ns'_r7d)
+ ns_r77)
+ xs_r7a
+ where
+ {- nonrec -}
+ AbsBinds
+ []
+ []
+ [([], vs'_r7c, vs'_a1hj), ([], ns'_r7d, ns'_a1hk)]
+ (vs'_a1hj, ns'_a1hk)
+ = dfs_a1m7 r_r74
+ (PrelBase.:{-55,p-}{i}
+ t{-a1h2-}
+ x_r79 vs_r76,
+ PrelBase.[]{-5i,p-}{i}
+ t{-a1h2-})
+ r_r74 x_r79
+ {- nonrec -}
+ {- nonrec -}
+ span_tree_a1m4 =
+ span_tree_r6I
+ vertex{-a1gK-}
+ d.Eq_a1jv
+ {- rec -}
+ AbsBinds
+ [t{-a1hV-}, t{-a1i0-}]
+ [d.Eq_a1ig]
+ [([t{-a1hV-}, t{-a1i0-}], new_range_r6H, new_range_a1hN)]
+ ==_a1m9 =
+ PrelBase.=={-8Y,p-}
+ t{-a1i0-}
+ d.Eq_a1ig
+ new_range_a1hN
+ PrelBase.[]{-5i,p-}{i} w_r6Q
+ = PrelBase.[]{-5i,p-}{i}
+ t{-a1hV-}
+ new_range_a1hN
+ ((x_r6S, y_r6T) PrelBase.:{-55,p-}{i} xys_r6U) w_r6W
+ = if x_r6S ==_a1m9 w_r6W then
+ PrelBase.:{-55,p-}{i}
+ t{-a1hV-}
+ y_r6T (new_range_a1hN xys_r6U w_r6W)
+ else
+ new_range_a1hN xys_r6U w_r6W
+ {- nonrec -}
+ new_range_a1m6 =
+ new_range_r6H
+ [vertex{-a1gK-}, vertex{-a1gK-}]
+ d.Eq_a1jq
+ new_range_a1m5 =
+ new_range_r6H
+ [vertex{-a1gK-}, vertex{-a1gK-}]
+ d.Eq_a1jr
+ {- nonrec -}
+ AbsBinds [v{-a1iv-}] [] [([v{-a1iv-}], swap_r6G, swap_a1im)]
+ swap_a1im
+ (x_r6M, y_r6N)
+ = (y_r6N, x_r6M)
+ {- nonrec -}
+ {- nonrec -}
+ AbsBinds [] [] [([], reversed_edges_r6F, reversed_edges_a1iy)]
+ reversed_edges_a1iy
+ = map_a1lN
+ [Edge{-r8K,x-} vertex{-a1gK-}, Edge{-r8K,x-} vertex{-a1gK-}] swap_r6G
+ vertex{-a1gK-}
+ es_r6B
+ {- nonrec -}
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[vertex{-a1jI-}]
+[d.Eq_a1kA]
+[([vertex{-a1jI-}], topSort{-r6t,x-}, topSort_a1jF)]
+ d.Eq_a1kI =
+ d.Eq_a1kA
+ isCyclic_a1mb =
+ isCyclic{-r6s,x-}
+ vertex{-a1jI-}
+ d.Eq_a1kI
+ d.Eq_a1kK =
+ d.Eq_a1kA
+ stronglyConnComp_a1ma =
+ stronglyConnComp{-r6r,x-}
+ vertex{-a1jI-}
+ d.Eq_a1kK
+ topSort_a1jF
+ edges_r7E vertices_r7G
+ = case cycles_r7J of
+ PrelBase.[]{-5i,p-}{i}
+ -> Succeeded{-r4G,x-}{i}
+ [[vertex{-a1jI-}], [[vertex{-a1jI-}]]] [ v_r7N |
+ [v_r7N] <- singletons_r7K
+ ]
+ _ -> Failed{-r4F,x-}{i}
+ [[vertex{-a1jI-}], [[vertex{-a1jI-}]]] cycles_r7J
+ where
+ {- nonrec -}
+ AbsBinds [] [] [([], sccs_r7I, sccs_a1jM)]
+ sccs_a1jM
+ = stronglyConnComp_a1ma edges_r7E vertices_r7G
+ {- nonrec -}
+ {- nonrec -}
+ AbsBinds
+ []
+ []
+ [([], cycles_r7J, cycles_a1jT), ([],
+ singletons_r7K,
+ singletons_a1jU)]
+ (cycles_a1jT, singletons_a1jU)
+ = List.partition{-rhM,p-}
+ [vertex{-a1jI-}] isCyclic_a1mb edges_r7E sccs_r7I
+ {- nonrec -}
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[vertex{-a1kQ-}]
+[]
+[([vertex{-a1kQ-}], mkDigraph{-r6z,x-}, mkDigraph_a1kM)]
+ mkDigraph_a1kM
+ = MkDigraph{-r8L,x-}{i}
+ vertex{-a1kQ-}
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ Digraphs 1
+_instance_modules_
+ArrBase Foreign IO PrelNum
+_usages_
+List 1 :: partition 1;
+PrelBase 1 :: $d14 1 $d15 1 $d22 1 $d23 1 $d24 1 $d25 1 $d26 1 $d27 1 $d32 1 $d34 1 $d37 1 $d39 1 $d41 1 $d44 1 $d45 1 $d46 1 $d49 1 $d51 1 $d6 1 $d7 1 otherwise 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadPlus 1 MonadZero 1 Ord 1 Ordering 1;
+PrelList 1 :: elem 1 head 1;
+PrelNum 1 :: $d17 1 $d18 1;
+PrelTup 1 :: $d11 1 $d13 1 $d15 1 $d49 1 $d51 1 $d9 1 snd 1;
+Set 2 :: $d1 2 elementOf 2 setToList 2 Set 1;
+_exports_
+Digraphs dfs isCyclic isRecursiveCycle lookupVertex mkDigraph mkEdges mkVertices stronglyConnComp topSort Cycle Digraph(MkDigraph) Edge FlattenedDependencyInfo MaybeErr(Succeeded Failed);
+_instances_
+instance _forall_ [a b] => {PrelBase.Eval (MaybeErr a b)} = $d1;
+instance _forall_ [a] => {PrelBase.Eval (Digraph a)} = $d2;
+_declarations_
+1 $d1 _:_ _forall_ [a b] => {PrelBase.Eval (MaybeErr a b)} ;;
+1 $d2 _:_ _forall_ [a] => {PrelBase.Eval (Digraph a)} ;;
+1 type Cycle r8C = [r8C] ;
+1 data Digraph r8G = MkDigraph [r8G] ;
+1 type Edge r8E = (r8E, r8E) ;
+1 type FlattenedDependencyInfo r8y r8z r8A = [(r8y, Set.Set r8z, Set.Set r8z, r8A)] ;
+1 data MaybeErr r8v r8w = Succeeded r8v | Failed r8w ;
+1 dfs _:_ _forall_ [a] {PrelBase.Eq a} => (a -> [a]) -> ([a], [a]) -> [a] -> ([a], [a]) ;;
+1 isCyclic _:_ _forall_ [a] {PrelBase.Eq a} => [Edge a] -> [a] -> PrelBase.Bool ;;
+1 isRecursiveCycle _:_ _forall_ [a] {PrelBase.Eq a} => Cycle a -> [Edge a] -> PrelBase.Bool ;;
+1 lookupVertex _:_ _forall_ [a b c] {PrelBase.Eq b, PrelBase.Ord a} => FlattenedDependencyInfo b a c -> b -> c ;;
+1 mkDigraph _:_ _forall_ [a] => [a] -> Digraph a ;;
+1 mkEdges _:_ _forall_ [a b c] {PrelBase.Eq c, PrelBase.Ord a} => [c] -> FlattenedDependencyInfo c a b -> [Edge c] ;;
+1 mkVertices _:_ _forall_ [a b c] => FlattenedDependencyInfo c a b -> [c] ;;
+1 stronglyConnComp _:_ _forall_ [a] {PrelBase.Eq a} => [Edge a] -> [a] -> [[a]] ;;
+1 topSort _:_ _forall_ [a] {PrelBase.Eq a} => [Edge a] -> [a] -> MaybeErr [a] [[a]] ;;
-Typechecked:
-AbsBinds [a.t5, b.t6] [] [(f.t1, ShouldSucceed.f)]
- {- nonrec -}
- f.t1 :: [ShouldSucceed.Pair a.t5 b.t6] -> [b.t6]
- f.t1 x.r58 = [ a.r59 | (ShouldSucceed.MkPair c.r60 a.r59) <- x.r58 ]
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+MkPair{-r3n,x-}{i} =
+ _/\_ a{-r3k-} b{-r3l-} -> \ tpl_B1 tpl_B2 ->
+ MkPair{-r3n,x-}{i}
+ {_@_ a{-r3k-} _@_ b{-r3l-} tpl_B1 tpl_B2}
+{- rec -}
+AbsBinds
+[a{-aHg-}, b{-aHh-}]
+[]
+[([a{-aHg-}, b{-aHh-}], $d1{-rHk,x-}, d.Eval_aHc)]
+ d.Eval_aHc =
+ ({-dict-} [] [])
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aGO-}, t{-aGR-}, a{-aGT-}]
+[d.Monad_aH3]
+[([t{-aGO-}, t{-aGR-}, a{-aGT-}], f{-r3m,x-}, f_aGG)]
+ >>=_aHm =
+ PrelBase.>>={-811,p-}
+ a{-aGT-}
+ d.Monad_aH3
+ d.Monad_aH5 =
+ d.Monad_aH3
+ return_aHl =
+ PrelBase.return{-816,p-}
+ a{-aGT-}
+ d.Monad_aH5
+ f_aGG
+ x_r3f = [ a_r3i |
+ (MkPair{-r3n,x-}{i} c_r3h a_r3i) <- x_r3f ]
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d37 1 $d39 1 $d41 1 $d46 1 Eval 1 Monad 1 MonadZero 1;
+_exports_
+ShouldSucceed f Pair(MkPair);
+_instances_
+instance _forall_ [a b] => {PrelBase.Eval (Pair a b)} = $d1;
+_declarations_
+1 $d1 _:_ _forall_ [a b] => {PrelBase.Eval (Pair a b)} ;;
+1 data Pair r3k r3l = MkPair r3k r3l ;
+1 f _:_ _forall_ [a b c :: (* -> *)] {PrelBase.Monad c} => c (Pair a b) -> c b ;;
-Typechecked:
-AbsBinds [tt3] [] [(f.t1, ShouldSucc.f)]
- {- rec -}
- f.t1 :: [tt3] -> [tt3]
- f.t1 [] = [] (tt3)
- f.t1 (x.r54 : xs.r55)
- = ((:) tt3) x.r54 (f.t1 xs.r55)
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- rec -}
+AbsBinds [t{-ana-}] [] [([t{-ana-}], f{-r3g,x-}, f_an4)]
+ f_an4
+ PrelBase.[]{-5i,p-}{i}
+ = PrelBase.[]{-5i,p-}{i}
+ t{-ana-}
+ f_an4
+ (x_r3e PrelBase.:{-55,p-}{i} xs_r3f)
+ = PrelBase.:{-55,p-}{i}
+ t{-ana-}
+ x_r3e (f_an4 xs_r3f)
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucc 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucc f;
+_declarations_
+1 f _:_ _forall_ [a] => [a] -> [a] ;;
-Typechecked:
-AbsBinds [b.t0] [d.Eq.t1] [(d.Eq.t2, dfun.Eq.ShouldSucc.B)]
- (d.Eq.t21, d.Eq.t1)
- (==.t12, (==) b.t0 d.Eq.t21)
- (d.Eq.t22, d.Eq.t2)
- (==.t19, (==) (ShouldSucc.B b.t0) d.Eq.t22)
- {- rec -}
- d.Eq.t2 = ({-dict-} [] [==.t3, /=.t4])
- (==.t3) :: ShouldSucc.B b.t0 -> ShouldSucc.B b.t0 -> Bool
- (==.t3)
- ShouldSucc.X ShouldSucc.X
- = True
- (==.t3)
- (ShouldSucc.Y a.r17) (ShouldSucc.Y b.r18)
- = a.r17 ==.t12 b.r18
- (==.t3)
- a.r19 b.r20
- = False
- (/=.t4) :: ShouldSucc.B b.t0 -> ShouldSucc.B b.t0 -> Bool
- (/=.t4)
- a.r21 b.r22
- = not (a.r21 ==.t19 b.r22)
-AbsBinds [a.t23] [d.Eq.t24] [(d.Eq.t25, dfun.Eq.ShouldSucc.T)]
- (d.Eq.t45, d.Eq.t24)
- (d.Eq.t44, dfun.Eq.ShouldSucc.B a.t23 d.Eq.t45)
- (==.t33, (==) (ShouldSucc.B a.t23) d.Eq.t44)
- (d.Eq.t46, d.Eq.t25)
- (==.t42, (==) (ShouldSucc.T a.t23) d.Eq.t46)
- {- rec -}
- d.Eq.t25 = ({-dict-} [] [==.t26, /=.t27])
- (==.t26) :: ShouldSucc.T a.t23 -> ShouldSucc.T a.t23 -> Bool
- (==.t26)
- (ShouldSucc.D x.r24) (ShouldSucc.D y.r25)
- = x.r24 ==.t33 y.r25
- (==.t26)
- ShouldSucc.C ShouldSucc.C
- = True
- (==.t26)
- a.r26 b.r27
- = False
- (/=.t27) :: ShouldSucc.T a.t23 -> ShouldSucc.T a.t23 -> Bool
- (/=.t27)
- a.r28 b.r29
- = not (a.r28 ==.t42 b.r29)
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+X{-r4,x-}{i} =
+ _/\_ b{-r42-} ->
+ X{-r4,x-}{i}
+ {_@_ b{-r42-}}
+Y{-r3,x-}{i} =
+ _/\_ b{-r42-} -> \ tpl_B1 ->
+ Y{-r3,x-}{i}
+ {_@_ b{-r42-} tpl_B1}
+{- nonrec -}
+D{-r9,x-}{i} =
+ _/\_ a{-r44-} -> \ tpl_B1 ->
+ D{-r9,x-}{i}
+ {_@_ a{-r44-} tpl_B1}
+C{-r8,x-}{i} =
+ _/\_ a{-r44-} ->
+ C{-r8,x-}{i}
+ {_@_ a{-r44-}}
+{- rec -}
+AbsBinds [b{-aIF-}] [] [([b{-aIF-}], $d3{-rIJ,x-}, d.Eval_aH4)]
+ d.Eval_aH4 =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds [a{-aIG-}] [] [([a{-aIG-}], $d4{-rIL,x-}, d.Eval_aHa)]
+ d.Eval_aHa =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds
+[b{-aHm-}]
+[d.Eq_aHO]
+[([b{-aHm-}], $d1{-rIM,x-}, d.Eq_aHg)]
+ d.Eq_aHS =
+ d.Eq_aHO
+ ==_aIQ =
+ PrelBase.=={-8Y,p-}
+ b{-aHm-}
+ d.Eq_aHS
+ ==_aIP =
+ ==_aIO
+ AbsBinds [] [] [([], ==_aIO, ==_aHj)]
+ ==_aHj
+ X{-r4,x-}{i} X{-r4,x-}{i}
+ = PrelBase.True{-5E,p-}{i}
+ ==_aHj
+ (Y{-r3,x-}{i} a_r3s) (Y{-r3,x-}{i} b_r3u)
+ = a_r3s ==_aIQ b_r3u
+ ==_aHj
+ a_r3w b_r3y
+ = PrelBase.False{-58,p-}{i}
+ AbsBinds [] [] [([], /=_aIN, /=_aHH)]
+ /=_aHH
+ a_r3C b_r3E
+ = PrelBase.not{-rfZ,p-} a_r3C ==_aIP b_r3E
+ d.Eq_aHg =
+ ({-dict-} [] [==_aIO, /=_aIN])
+{- rec -}
+AbsBinds
+[a{-aI7-}]
+[d.Eq_aIx]
+[([a{-aI7-}], $d2{-rIR,x-}, d.Eq_aHZ)]
+ d.Eq_aID =
+ d.Eq_aIx
+ d.Eq_aIB =
+ $d1{-rIM,x-}
+ a{-aI7-}
+ d.Eq_aID
+ ==_aIV =
+ PrelBase.=={-8Y,p-}
+ (B{-r45,x-} a{-aI7-})
+ d.Eq_aIB
+ ==_aIU =
+ ==_aIT
+ AbsBinds [] [] [([], ==_aIT, ==_aI2)]
+ ==_aI2
+ (D{-r9,x-}{i} x_r3L) (D{-r9,x-}{i} y_r3N)
+ = x_r3L ==_aIV y_r3N
+ ==_aI2
+ C{-r8,x-}{i} C{-r8,x-}{i}
+ = PrelBase.True{-5E,p-}{i}
+ ==_aI2
+ a_r3R b_r3T
+ = PrelBase.False{-58,p-}{i}
+ AbsBinds [] [] [([], /=_aIS, /=_aIq)]
+ /=_aIq
+ a_r3X b_r3Z
+ = PrelBase.not{-rfZ,p-} a_r3X ==_aIU b_r3Z
+ d.Eq_aHZ =
+ ({-dict-} [] [==_aIT, /=_aIS])
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucc 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d15 1 $d32 1 $d37 1 $d39 1 $d41 1 $d46 1 $d7 1 not 1 Eq 1 Eval 1;
+PrelNum 1 :: $d18 1;
+_exports_
+ShouldSucc B(X Y) T(D C);
+_instances_
+instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (B a)} = $d1;
+instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (T a)} = $d2;
+instance _forall_ [a] => {PrelBase.Eval (B a)} = $d3;
+instance _forall_ [a] => {PrelBase.Eval (T a)} = $d4;
+_declarations_
+1 $d1 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (B a)} ;;
+1 $d2 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (T a)} ;;
+1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (B a)} ;;
+1 $d4 _:_ _forall_ [a] => {PrelBase.Eval (T a)} ;;
+1 data B r42 = X | Y r42 ;
+1 data T r44 = D (B r44) | C ;
+
+
+--================================================================================
Typechecked:
-AbsBinds [] [] [(x.t1, Main.x)]
- {- nonrec -}
- x.t1 :: Char
- x.t1 = 'a'
-AbsBinds [] [] [(y.t4, Main.y), (ys.t5, Main.ys)]
- {- nonrec -}
- (y.t4 : ys.t5) :: [Char]
- (y.t4 : ys.t5) = ['a', 'b', 'c'] (Char)
- where
- AbsBinds [] [] [(p.t8, p.r56)]
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], x{-r3i,x-}, x_an6)]
+ x_an6
+ = 'a'
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], y{-r3h,x-}, y_ana), ([], ys{-r3g,x-}, ys_anb)]
+ (y_ana PrelBase.:{-55,p-}{i} ys_anb)
+ = ['a', 'b', 'c'] (PrelBase.Char{-38,p-})
+ where
{- nonrec -}
- p.t8 :: Char
- p.t8 = Main.x
- {- nonrec -}
-
+ AbsBinds [] [] [([], p_r3f, p_anj)]
+ p_anj
+ = x{-r3i,x-}
+ {- nonrec -}
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucceed x y ys;
+_declarations_
+1 x _:_ PrelBase.Char ;;
+1 y _:_ PrelBase.Char ;;
+1 ys _:_ [PrelBase.Char] ;;
-Typechecked:
-AbsBinds [] [] [(idb.t1, Main.idb)]
- {- nonrec -}
- idb.t1 :: Main.Boolean -> Main.Boolean
- idb.t1
- x.r57 = x.r57
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+FF{-r5,x-}{i} =
+ FF{-r5,x-}{i}
+ {}
+TT{-r4,x-}{i} =
+ TT{-r4,x-}{i}
+ {}
+{- rec -}
+AbsBinds [] [] [([], $d1{-rG8,x-}, d.Eval_aG5)]
+ d.Eval_aG5 =
+ ({-dict-} [] [])
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], idb{-r6,x-}, idb_aFY)]
+ idb_aFY
+ x_r3k = x_r3k
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d37 1 $d39 1 $d41 1 $d46 1 Eval 1;
+_exports_
+ShouldSucceed idb Boolean(FF TT);
+_instances_
+instance {PrelBase.Eval Boolean} = $d1;
+_declarations_
+1 $d1 _:_ {PrelBase.Eval Boolean} ;;
+1 data Boolean = FF | TT ;
+1 idb _:_ Boolean -> Boolean ;;
-Typechecked:
-AbsBinds [tt3] [] [(f.t1, ShouldSucc.f)]
- {- rec -}
- f.t1 :: [tt3] -> [tt3]
- f.t1 [] = [] (tt3)
- f.t1 (x.r54 : xs.r55)
- = ((:) tt3) x.r54 (f.t1 xs.r55)
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- rec -}
+AbsBinds [t{-ana-}] [] [([t{-ana-}], f{-r3g,x-}, f_an4)]
+ f_an4
+ PrelBase.[]{-5i,p-}{i}
+ = PrelBase.[]{-5i,p-}{i}
+ t{-ana-}
+ f_an4
+ (x_r3e PrelBase.:{-55,p-}{i} xs_r3f)
+ = PrelBase.:{-55,p-}{i}
+ t{-ana-}
+ x_r3e (f_an4 xs_r3f)
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucc 1
+_instance_modules_
+ArrBase IO PrelNum
+_exports_
+ShouldSucc f;
+_declarations_
+1 f _:_ _forall_ [a] => [a] -> [a] ;;
-Typechecked:
-AbsBinds [b.t0] [d.Eq.t1] [(d.Eq.t2, dfun.Eq.ShouldSucc.B)]
- (d.Eq.t21, d.Eq.t1)
- (==.t12, (==) b.t0 d.Eq.t21)
- (d.Eq.t22, d.Eq.t2)
- (==.t19, (==) (ShouldSucc.B b.t0) d.Eq.t22)
- {- rec -}
- d.Eq.t2 = ({-dict-} [] [==.t3, /=.t4])
- (==.t3) :: ShouldSucc.B b.t0 -> ShouldSucc.B b.t0 -> Bool
- (==.t3)
- ShouldSucc.X ShouldSucc.X
- = True
- (==.t3)
- (ShouldSucc.Y a.r17) (ShouldSucc.Y b.r18)
- = a.r17 ==.t12 b.r18
- (==.t3)
- a.r19 b.r20
- = False
- (/=.t4) :: ShouldSucc.B b.t0 -> ShouldSucc.B b.t0 -> Bool
- (/=.t4)
- a.r21 b.r22
- = not (a.r21 ==.t19 b.r22)
-AbsBinds [a.t23] [d.Eq.t24] [(d.Eq.t25, dfun.Eq.ShouldSucc.T)]
- (d.Eq.t45, d.Eq.t24)
- (d.Eq.t44, dfun.Eq.ShouldSucc.B a.t23 d.Eq.t45)
- (==.t33, (==) (ShouldSucc.B a.t23) d.Eq.t44)
- (d.Eq.t46, d.Eq.t25)
- (==.t42, (==) (ShouldSucc.T a.t23) d.Eq.t46)
- {- rec -}
- d.Eq.t25 = ({-dict-} [] [==.t26, /=.t27])
- (==.t26) :: ShouldSucc.T a.t23 -> ShouldSucc.T a.t23 -> Bool
- (==.t26)
- (ShouldSucc.D x.r24) (ShouldSucc.D y.r25)
- = x.r24 ==.t33 y.r25
- (==.t26)
- ShouldSucc.C ShouldSucc.C
- = True
- (==.t26)
- a.r26 b.r27
- = False
- (/=.t27) :: ShouldSucc.T a.t23 -> ShouldSucc.T a.t23 -> Bool
- (/=.t27)
- a.r28 b.r29
- = not (a.r28 ==.t42 b.r29)
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+X{-r4,x-}{i} =
+ _/\_ b{-r42-} ->
+ X{-r4,x-}{i}
+ {_@_ b{-r42-}}
+Y{-r3,x-}{i} =
+ _/\_ b{-r42-} -> \ tpl_B1 ->
+ Y{-r3,x-}{i}
+ {_@_ b{-r42-} tpl_B1}
+{- nonrec -}
+D{-r9,x-}{i} =
+ _/\_ a{-r44-} -> \ tpl_B1 ->
+ D{-r9,x-}{i}
+ {_@_ a{-r44-} tpl_B1}
+C{-r8,x-}{i} =
+ _/\_ a{-r44-} ->
+ C{-r8,x-}{i}
+ {_@_ a{-r44-}}
+{- rec -}
+AbsBinds [b{-aIF-}] [] [([b{-aIF-}], $d3{-rIJ,x-}, d.Eval_aH4)]
+ d.Eval_aH4 =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds [a{-aIG-}] [] [([a{-aIG-}], $d4{-rIL,x-}, d.Eval_aHa)]
+ d.Eval_aHa =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds
+[b{-aHm-}]
+[d.Eq_aHO]
+[([b{-aHm-}], $d1{-rIM,x-}, d.Eq_aHg)]
+ d.Eq_aHS =
+ d.Eq_aHO
+ ==_aIQ =
+ PrelBase.=={-8Y,p-}
+ b{-aHm-}
+ d.Eq_aHS
+ ==_aIP =
+ ==_aIO
+ AbsBinds [] [] [([], ==_aIO, ==_aHj)]
+ ==_aHj
+ X{-r4,x-}{i} X{-r4,x-}{i}
+ = PrelBase.True{-5E,p-}{i}
+ ==_aHj
+ (Y{-r3,x-}{i} a_r3s) (Y{-r3,x-}{i} b_r3u)
+ = a_r3s ==_aIQ b_r3u
+ ==_aHj
+ a_r3w b_r3y
+ = PrelBase.False{-58,p-}{i}
+ AbsBinds [] [] [([], /=_aIN, /=_aHH)]
+ /=_aHH
+ a_r3C b_r3E
+ = PrelBase.not{-rfZ,p-} a_r3C ==_aIP b_r3E
+ d.Eq_aHg =
+ ({-dict-} [] [==_aIO, /=_aIN])
+{- rec -}
+AbsBinds
+[a{-aI7-}]
+[d.Eq_aIx]
+[([a{-aI7-}], $d2{-rIR,x-}, d.Eq_aHZ)]
+ d.Eq_aID =
+ d.Eq_aIx
+ d.Eq_aIB =
+ $d1{-rIM,x-}
+ a{-aI7-}
+ d.Eq_aID
+ ==_aIV =
+ PrelBase.=={-8Y,p-}
+ (B{-r45,x-} a{-aI7-})
+ d.Eq_aIB
+ ==_aIU =
+ ==_aIT
+ AbsBinds [] [] [([], ==_aIT, ==_aI2)]
+ ==_aI2
+ (D{-r9,x-}{i} x_r3L) (D{-r9,x-}{i} y_r3N)
+ = x_r3L ==_aIV y_r3N
+ ==_aI2
+ C{-r8,x-}{i} C{-r8,x-}{i}
+ = PrelBase.True{-5E,p-}{i}
+ ==_aI2
+ a_r3R b_r3T
+ = PrelBase.False{-58,p-}{i}
+ AbsBinds [] [] [([], /=_aIS, /=_aIq)]
+ /=_aIq
+ a_r3X b_r3Z
+ = PrelBase.not{-rfZ,p-} a_r3X ==_aIU b_r3Z
+ d.Eq_aHZ =
+ ({-dict-} [] [==_aIT, /=_aIS])
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucc 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d15 1 $d32 1 $d37 1 $d39 1 $d41 1 $d46 1 $d7 1 not 1 Eq 1 Eval 1;
+PrelNum 1 :: $d18 1;
+_exports_
+ShouldSucc B(X Y) T(D C);
+_instances_
+instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (B a)} = $d1;
+instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (T a)} = $d2;
+instance _forall_ [a] => {PrelBase.Eval (B a)} = $d3;
+instance _forall_ [a] => {PrelBase.Eval (T a)} = $d4;
+_declarations_
+1 $d1 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (B a)} ;;
+1 $d2 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (T a)} ;;
+1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (B a)} ;;
+1 $d4 _:_ _forall_ [a] => {PrelBase.Eval (T a)} ;;
+1 data B r42 = X | Y r42 ;
+1 data T r44 = D (B r44) | C ;
+
+tc075.hs:8:
+ Can't handle multiple methods defined by one pattern binding
+ `(==, /=)
+ = (\ x -> \ y -> True,
+ (\ x -> \ y -> False))'
+
+
+Compilation had errors
-Typechecked:
-AbsBinds [] [] [(x.t1, ShouldSucceed.x)]
- {- nonrec -}
- x.t1 :: [[Bool]]
- x.t1 = [[True] (Bool)] ([Bool])
-AbsBinds [] [] [(xs.t3, ShouldSucceed.xs)]
- {- nonrec -}
- xs.t3 :: [Bool]
- xs.t3 = [ x.r56 | x.r55 <- ShouldSucceed.x, x.r56 <- x.r55 ]
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+d.Monad_aGO =
+ PrelBase.$d24{-rb1,p-}
+>>=_aGV =
+ PrelBase.>>={-811,p-}
+ PrelBase.[]{-3j,p-}
+ d.Monad_aGO
+d.Monad_aGR =
+ d.Monad_aGO
+return_aGW =
+ PrelBase.return{-816,p-}
+ PrelBase.[]{-3j,p-}
+ d.Monad_aGR
+{- nonrec -}
+AbsBinds [] [] [([], x{-r3,x-}, x_aGp)]
+ x_aGp
+ = [[PrelBase.True{-5E,p-}{i}] (PrelBase.Bool{-34,p-})] ([PrelBase.Bool{-34,p-}])
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], xs{-r2,x-}, xs_aGx)]
+ xs_aGx
+ = [ x_r3j |
+ x_r3h <- x{-r3,x-}, x_r3j <- x_r3h ]
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d23 1 $d24 1 Monad 1 MonadZero 1;
+_exports_
+ShouldSucceed x xs;
+_declarations_
+1 x _:_ [[PrelBase.Bool]] ;;
+1 xs _:_ [PrelBase.Bool] ;;
data NUM = ONE | TWO
class (Num a) => ORD a
-class (ORD a, Text a) => EQ a where
+class (ORD a, Show a) => EQ a where
(===) :: a -> a -> Bool
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-(M.EQ.===) =
- /\ a.t0 -> \{-classdict-} [d.M.ORD.t2 d.Text.t3] [===.t1] -> (===.t1)
-sdsel.M.EQ.M.ORD =
- /\ a.t0 -> \{-classdict-} [d.M.ORD.t2 d.Text.t3] [===.t1] -> d.M.ORD.t2
-sdsel.M.EQ.Text =
- /\ a.t0 -> \{-classdict-} [d.M.ORD.t2 d.Text.t3] [===.t1] -> d.Text.t3
+ONE{-r7,x-}{i} =
+ ONE{-r7,x-}{i}
+ {}
+TWO{-r6,x-}{i} =
+ TWO{-r6,x-}{i}
+ {}
{- nonrec -}
-defm.M.EQ.=== =
- /\ a.t4 ->
- \{-dict-} d.M.EQ.t5 ->
- (error (a.t4 -> a.t4 -> Bool))
- "No default method for \"M.EQ.defm.M.EQ.===\"\n"
+scsel_EQMORD{-aHj,x-} =
+ _/\_ a{-r3k-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,,){-63,p-}{i} tpl_B1 tpl_B2 tpl_B3 ->
+ tpl_B1;}
+scsel_EQPrelBaseShow{-aHk,x-} =
+ _/\_ a{-r3k-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,,){-63,p-}{i} tpl_B1 tpl_B2 tpl_B3 ->
+ tpl_B2;}
+==={-r3q,x-} =
+ _/\_ a{-r3k-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,,){-63,p-}{i} tpl_B1 tpl_B2 tpl_B3 ->
+ tpl_B3;}
{- nonrec -}
-sdsel.M.ORD.Num = /\ a.t6 -> \{-classdict-} [d.Num.t7] [] -> d.Num.t7
+AbsBinds
+[a{-aHi-}]
+[d.EQ_aHb]
+[([a{-aHi-}], $m==={-rHl,x-}, ===_aHd)]
+ AbsBinds [] [] [([], ===_aHd, ===_aHf)]
+ ===_aHf
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-aHi-}
+ -> a{-aHi-}
+ -> PrelBase.Bool{-34,p-}) "Class EQ Method ==="
{- nonrec -}
-
-=-=-=-=-=INTERFACE STARTS HERE=-=-=-=-= M
-interface M where
-class (ORD a, Text a) => EQ a where (===) :: a -> a -> Bool
-class (Num a) => ORD a
-data NUM = ONE | TWO
-=-=-=-=-=INTERFACE STOPS HERE=-=-=-=-=
-
+scsel_ORDPrelBaseNum{-aHm,x-} =
+ _/\_ a{-r3p-} -> \ tpl_B1 ->
+ tpl_B1
+{- nonrec -}
+{- rec -}
+AbsBinds [] [] [([], $d1{-rHp,x-}, d.Eval_aH8)]
+ d.Eval_aH8 =
+ ({-dict-} [] [])
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ M 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_
+M EQ(===) NUM(ONE TWO) ORD;
+_instances_
+instance {PrelBase.Eval NUM} = $d1;
+_declarations_
+1 class {PrelBase.Num r3p} => ORD r3p ;
+1 $d1 _:_ {PrelBase.Eval NUM} ;;
+1 $m=== _:_ _forall_ [a] {EQ a} => a -> a -> PrelBase.Bool ;;
+1 class {ORD r3k, PrelBase.Show r3k} => EQ r3k where {=== :: r3k -> r3k -> PrelBase.Bool} ;
+1 data NUM = ONE | TWO ;
-Typechecked:
-AbsBinds [a.t0] [d.Eq.t1] [(d.Eq.t2, dfun.Eq.M.Bar)]
- {- rec -}
- d.Eq.t2 = ({-dict-} [] [==.t3, /=.t4])
- (==.t3) = defm.== (M.Bar a.t0) d.Eq.t2
- (/=.t4) = defm./= (M.Bar a.t0) d.Eq.t2
-AbsBinds [a.t5] [d.Ord.t7, d.Eq.t6] [(d.Ord.t8, dfun.Ord.M.Bar)]
- {- rec -}
- d.Ord.t8 =
- ({-dict-}
- [d.Eq.t6]
- [<.t9, <=.t10, >=.t11, >.t12, max.t13, min.t14, cmp3.t15])
- (<.t9) = defm.< (M.Bar a.t5) d.Ord.t8
- (<=.t10) = defm.<= (M.Bar a.t5) d.Ord.t8
- (>=.t11) = defm.>= (M.Bar a.t5) d.Ord.t8
- (>.t12) = defm.> (M.Bar a.t5) d.Ord.t8
- max.t13 = defm.max (M.Bar a.t5) d.Ord.t8
- min.t14 = defm.min (M.Bar a.t5) d.Ord.t8
- cmp3.t15 = /\ tt16 -> defm.cmp3 [M.Bar a.t5, tt16] d.Ord.t8
-=-=-=-=-=INTERFACE STARTS HERE=-=-=-=-= M
-interface M where
-data Bar a = MkBar Int a
-instance Eq a => Eq (Bar a)
-instance Ord a => Ord (Bar a)
-=-=-=-=-=INTERFACE STOPS HERE=-=-=-=-=
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+MkBar{-r3l,x-}{i} =
+ _/\_ a{-r3k-} -> \ tpl_B1 tpl_B2 ->
+ MkBar{-r3l,x-}{i}
+ {_@_ a{-r3k-} tpl_B1 tpl_B2}
+{- rec -}
+AbsBinds [a{-aId-}] [] [([a{-aId-}], $d3{-rIh,x-}, d.Eval_aGn)]
+ d.Eval_aGn =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds
+[a{-aGA-}]
+[d.Ord_aHn, d.Eq_aHo]
+[([a{-aGA-}], $d1{-rIi,x-}, d.Ord_aGt)]
+ d.Eq_aHp =
+ d.Eq_aHo
+ d.Ord_aHt =
+ d.Ord_aGt
+ $mcompare_aIp =
+ PrelBase.$mcompare{-rbW,p-}
+ (Bar{-r3m,x-} a{-aGA-})
+ d.Ord_aHt
+ d.Ord_aHv =
+ d.Ord_aGt
+ $m<_aIo =
+ PrelBase.$m<{-rbO,p-}
+ (Bar{-r3m,x-} a{-aGA-})
+ d.Ord_aHv
+ d.Ord_aHx =
+ d.Ord_aGt
+ $m<=_aIn =
+ PrelBase.$m<={-rbP,p-}
+ (Bar{-r3m,x-} a{-aGA-})
+ d.Ord_aHx
+ d.Ord_aHz =
+ d.Ord_aGt
+ $m>=_aIm =
+ PrelBase.$m>={-rbS,p-}
+ (Bar{-r3m,x-} a{-aGA-})
+ d.Ord_aHz
+ d.Ord_aHB =
+ d.Ord_aGt
+ $m>_aIl =
+ PrelBase.$m>{-rbR,p-}
+ (Bar{-r3m,x-} a{-aGA-})
+ d.Ord_aHB
+ d.Ord_aHD =
+ d.Ord_aGt
+ $mmax_aIk =
+ PrelBase.$mmax{-rc5,p-}
+ (Bar{-r3m,x-} a{-aGA-})
+ d.Ord_aHD
+ d.Ord_aHF =
+ d.Ord_aGt
+ $mmin_aIj =
+ PrelBase.$mmin{-rc7,p-}
+ (Bar{-r3m,x-} a{-aGA-})
+ d.Ord_aHF
+ AbsBinds [] [] [([], compare_aGv, compare_aGx)]
+ compare_aGx
+ = $mcompare_aIp
+ AbsBinds [] [] [([], <_aGE, <_aGG)]
+ <_aGG
+ = $m<_aIo
+ AbsBinds [] [] [([], <=_aGM, <=_aGO)]
+ <=_aGO
+ = $m<=_aIn
+ AbsBinds [] [] [([], >=_aGU, >=_aGW)]
+ >=_aGW
+ = $m>=_aIm
+ AbsBinds [] [] [([], >_aH2, >_aH4)]
+ >_aH4
+ = $m>_aIl
+ AbsBinds [] [] [([], max_aHa, max_aHc)]
+ max_aHc
+ = $mmax_aIk
+ AbsBinds [] [] [([], min_aHi, min_aHk)]
+ min_aHk
+ = $mmin_aIj
+ d.Ord_aGt =
+ ({-dict-}
+ [d.Eq_aHp]
+ [compare_aGv, <_aGE, <=_aGM, >=_aGU, >_aH2, max_aHa, min_aHi])
+{- rec -}
+AbsBinds
+[a{-aHW-}]
+[d.Eq_aI5]
+[([a{-aHW-}], $d2{-rIq,x-}, d.Eq_aHP)]
+ d.Eq_aI9 =
+ d.Eq_aHP
+ $m==_aIs =
+ PrelBase.$m=={-rbQ,p-}
+ (Bar{-r3m,x-} a{-aHW-})
+ d.Eq_aI9
+ d.Eq_aIb =
+ d.Eq_aHP
+ $m/=_aIr =
+ PrelBase.$m/={-rbN,p-}
+ (Bar{-r3m,x-} a{-aHW-})
+ d.Eq_aIb
+ AbsBinds [] [] [([], ==_aHR, ==_aHT)]
+ ==_aHT
+ = $m==_aIs
+ AbsBinds [] [] [([], /=_aI0, /=_aI2)]
+ /=_aI2
+ = $m/=_aIr
+ d.Eq_aHP =
+ ({-dict-} [] [==_aHR, /=_aI0])
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ M 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d14 1 $d15 1 $d32 1 $d34 1 $d37 1 $d39 1 $d41 1 $d45 1 $d46 1 $d49 1 $d51 1 $d6 1 $d7 1 Eq 1 Eval 1 Ord 1 Ordering 1;
+PrelNum 1 :: $d17 1 $d18 1;
+_exports_
+M Bar(MkBar);
+_instances_
+instance _forall_ [a] {PrelBase.Ord a} => {PrelBase.Ord (Bar a)} = $d1;
+instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (Bar a)} = $d2;
+instance _forall_ [a] => {PrelBase.Eval (Bar a)} = $d3;
+_declarations_
+1 $d1 _:_ _forall_ [a] {PrelBase.Ord a, PrelBase.Eq (Bar a)} => {PrelBase.Ord (Bar a)} ;;
+1 $d2 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (Bar a)} ;;
+1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (Bar a)} ;;
+1 data Bar r3k = MkBar PrelBase.Int r3k ;
--!!! "easy" to check default methods and such...
--!!! (this is the example given in TcClassDcl)
--
+module Test where
+
class Foo a where
op1 :: a -> Bool
op2 :: Ord b => a -> b -> b -> b
+
+
+--================================================================================
Typechecked:
{- nonrec -}
-Main.Foo.op1 = /\ a.t7 -> \{-classdict-} [] [op1.t8 op2.t9] -> op1.t8
-Main.Foo.op2 =
- /\ a.t7 b.t10 -> \{-classdict-} [] [op1.t8 op2.t9] -> op2.t9 b.t10
{- nonrec -}
-defm.Main.Foo.op1 =
- let
- AbsBinds [a.t11] [d.Main.Foo.t12] [(op1.t13, op1.t14)]
- {- nonrec -}
- op1.t13 :: a.t11 -> Bool
- op1.t13
- x.r11 = True
- in op1.t14
-defm.Main.Foo.op2 =
- let
- AbsBinds [a.t16, b.t17] [d.Main.Foo.t18, d.Ord.t19] [(op2.t20, op2.t21)]
- (d.Ord.t31, d.Ord.t19)
- (<.t28, (<) b.t17 d.Ord.t31)
- (d.Main.Foo.t32, d.Main.Foo.t18)
- (Main.Foo.op1.t26, Main.Foo.op1 a.t16 d.Main.Foo.t32)
- {- nonrec -}
- op2.t20 :: a.t16 -> b.t17 -> b.t17 -> b.t17
- op2.t20
- x.r12 y.r13 z.r14
- = if (Main.Foo.op1.t26 x.r12) && (y.r13 <.t28 z.r14) then
- y.r13
+op1{-r3F,x-} =
+ _/\_ a{-r3l-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;}
+op2{-r3E,x-} =
+ _/\_ a{-r3l-} -> \ tpl_B1 ->
+ case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;}
+{- nonrec -}
+AbsBinds
+[a{-aI8-}]
+[d.Foo_aI2]
+[([a{-aI8-}], $mop1{-rGN,x-}, op1_aIG)]
+ AbsBinds [] [] [([], op1_aIG, op1_aI5)]
+ op1_aI5
+ x_r3u = PrelBase.True{-5E,p-}{i}
+AbsBinds
+[a{-aI8-}]
+[d.Foo_aIb]
+[([a{-aI8-}], $mop2{-rGQ,x-}, op2_aIJ)]
+ d.Foo_aIA =
+ d.Foo_aIb
+ op1_aIK =
+ op1{-r3F,x-}
+ a{-aI8-}
+ d.Foo_aIA
+ AbsBinds [b{-aIm-}] [d.Ord_aIw] [([b{-aIm-}], op2_aIJ, op2_aIg)]
+ d.Ord_aIy =
+ d.Ord_aIw
+ <_aIL =
+ PrelBase.<{-rd6,p-}
+ b{-aIm-}
+ d.Ord_aIy
+ op2_aIg
+ x_r3y y_r3A z_r3C
+ = if (op1_aIK x_r3y)
+ PrelBase.&&{-r3D,p-} (y_r3A <_aIL z_r3C) then
+ y_r3A
else
- z.r14
- in op2.t21
+ z_r3C
{- rec -}
-dfun.Main.Foo.Int =
- ({-dict-} [] [const.Main.Foo.Int.op1, const.Main.Foo.Int.op2])
-const.Main.Foo.Int.op1 = defm.Main.Foo.op1 Int dfun.Main.Foo.Int
-const.Main.Foo.Int.op2 =
- /\ b.t0 -> defm.Main.Foo.op2 [Int, b.t0] dfun.Main.Foo.Int
-AbsBinds [a.t1] [d.Main.Foo.t2] [(d.Main.Foo.t3, dfun.Main.Foo.List)]
- {- rec -}
- d.Main.Foo.t3 = ({-dict-} [] [op1.t4, op2.t5])
- op1.t4 = defm.Main.Foo.op1 [a.t1] d.Main.Foo.t3
- op2.t5 = /\ b.t6 -> defm.Main.Foo.op2 [[a.t1], b.t6] d.Main.Foo.t3
-
+AbsBinds
+[a{-aGT-}]
+[d.Foo_aHg]
+[([a{-aGT-}], $d1{-rIM,x-}, d.Foo_aGK)]
+ d.Foo_aHi =
+ d.Foo_aGK
+ $mop1_aIO =
+ $mop1{-rGN,x-}
+ [a{-aGT-}]
+ d.Foo_aHi
+ d.Foo_aHk =
+ d.Foo_aGK
+ $mop2_aIN =
+ $mop2{-rGQ,x-}
+ [a{-aGT-}]
+ d.Foo_aHk
+ AbsBinds [] [] [([], op1_aGM, op1_aGP)]
+ op1_aGP
+ = $mop1_aIO
+ AbsBinds [b{-aH7-}] [d.Ord_aHd] [([b{-aH7-}], op2_aGY, op2_aH1)]
+ d.Ord_aHf =
+ d.Ord_aHd
+ $mop2_aIP =
+ $mop2_aIN
+ b{-aH7-}
+ d.Ord_aHf
+ op2_aH1
+ = $mop2_aIP
+ d.Foo_aGK =
+ ({-dict-} [] [op1_aGM, op2_aGY])
+{- rec -}
+AbsBinds [] [] [([], $d2{-rIQ,x-}, d.Foo_aHq)]
+ AbsBinds [] [] [([], op1_aHs, op1_aHu)]
+ op1_aHu
+ = $mop1_aII
+ AbsBinds [b{-aHL-}] [d.Ord_aHR] [([b{-aHL-}], op2_aHC, op2_aHF)]
+ d.Ord_aHV =
+ d.Ord_aHR
+ $mop2_aIR =
+ $mop2_aIH
+ b{-aHL-}
+ d.Ord_aHV
+ op2_aHF
+ = $mop2_aIR
+ d.Foo_aHq =
+ ({-dict-} [] [op1_aHs, op2_aHC])
+{- nonrec -}
+d.Foo_aIC =
+ $d2{-rIQ,x-}
+$mop1_aII =
+ $mop1{-rGN,x-}
+ PrelBase.Int{-3g,p-}
+ d.Foo_aIC
+d.Foo_aIF =
+ d.Foo_aIC
+$mop2_aIH =
+ $mop2{-rGQ,x-}
+ PrelBase.Int{-3g,p-}
+ d.Foo_aIF
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ Test 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d14 1 $d15 1 $d26 1 $d27 1 $d32 1 $d34 1 $d49 1 $d51 1 $d6 1 $d7 1 && 1 Eq 1 Ord 1 Ordering 1;
+PrelNum 1 :: $d17 1 $d18 1;
+_exports_
+Test Foo(op1 op2);
+_instances_
+instance _forall_ [a] {Foo a} => {Foo [a]} = $d1;
+instance {Foo PrelBase.Int} = $d2;
+_declarations_
+1 $d1 _:_ _forall_ [a] {Foo a} => {Foo [a]} ;;
+1 $d2 _:_ {Foo PrelBase.Int} ;;
+1 $mop1 _:_ _forall_ [a] {Foo a} => a -> PrelBase.Bool ;;
+1 $mop2 _:_ _forall_ [a] {Foo a} => _forall_ [b] {PrelBase.Ord b} => a -> b -> b -> b ;;
+1 class Foo r3l where {op1 :: r3l -> PrelBase.Bool; op2 :: _forall_ [r3p] {PrelBase.Ord r3p} => r3l -> r3p -> r3p -> r3p} ;
-Typechecked:
-{- nonrec -}
-Main.Parse.parseFile =
- /\ a.t177 ->
- \{-classdict-} [] [parseFile.t178
- parseLine.t179
- parse.t180
- parseType.t181
- forced.t182] -> parseFile.t178
-Main.Parse.parseLine =
- /\ a.t177 ->
- \{-classdict-} [] [parseFile.t178
- parseLine.t179
- parse.t180
- parseType.t181
- forced.t182] -> parseLine.t179
-Main.Parse.parse =
- /\ a.t177 ->
- \{-classdict-} [] [parseFile.t178
- parseLine.t179
- parse.t180
- parseType.t181
- forced.t182] -> parse.t180
-Main.Parse.parseType =
- /\ a.t177 ->
- \{-classdict-} [] [parseFile.t178
- parseLine.t179
- parse.t180
- parseType.t181
- forced.t182] -> parseType.t181
-Main.Parse.forced =
- /\ a.t177 ->
- \{-classdict-} [] [parseFile.t178
- parseLine.t179
- parse.t180
- parseType.t181
- forced.t182] -> forced.t182
-{- nonrec -}
-defm.Main.Parse.parseFile =
- let
- AbsBinds [a.t183] [d.Main.Parse.t184] [(parseFile.t185, parseFile.t186)]
- (d.Main.Parse.t197, d.Main.Parse.t184)
- (Main.Parse.parseLine.t193,
- Main.Parse.parseLine a.t183 d.Main.Parse.t197)
- (d.Main.Parse.t198, d.Main.Parse.t197)
- (Main.Parse.forced.t196, Main.Parse.forced a.t183 d.Main.Parse.t198)
- {- nonrec -}
- parseFile.t185 :: String -> [a.t183]
- parseFile.t185
- string.r23
- | (all a.t183) Main.Parse.forced.t196 x.r24 = x.r24
- where
- AbsBinds [] [] [(x.t189, x.r24)]
- {- nonrec -}
- x.t189 :: [a.t183]
- x.t189
- = (map [String, a.t183])
- Main.Parse.parseLine.t193
- (Main.lines' string.r23)
- {- nonrec -}
- in parseFile.t186
-defm.Main.Parse.parseLine =
- let
- AbsBinds [a.t199] [d.Main.Parse.t200] [(parseLine.t201, parseLine.t202)]
- (d.Main.Parse.t217, d.Main.Parse.t200)
- (Main.Parse.parse.t215, Main.Parse.parse a.t199 d.Main.Parse.t217)
- {- nonrec -}
- parseLine.t201 :: String -> a.t199
- parseLine.t201
- = ((.) [String, (a.t199, String), a.t199])
- (pl.r25 [String, a.t199]) Main.Parse.parse.t215
- where
- AbsBinds [tt208, tt207] [] [(pl.t204, pl.r25)]
- {- nonrec -}
- pl.t204 :: (tt207, tt208) -> tt207
- pl.t204
- (a.r26, _)
- = a.r26
- {- nonrec -}
- in parseLine.t202
-defm.Main.Parse.parse =
- let
- AbsBinds [a.t218] [d.Main.Parse.t219] [(parse.t220, parse.t221)]
- (d.Main.Parse.t228, d.Main.Parse.t219)
- (Main.Parse.parseType.t226,
- Main.Parse.parseType a.t218 d.Main.Parse.t228)
- {- nonrec -}
- parse.t220 :: String -> (a.t218, String)
- parse.t220
- = ((.) [String, String, (a.t218, String)])
- Main.Parse.parseType.t226 Main.whiteSpace
- in parse.t221
-defm.Main.Parse.forced =
- let
- AbsBinds [a.t229] [d.Main.Parse.t230] [(forced.t231, forced.t232)]
- {- nonrec -}
- forced.t231 :: a.t229 -> Bool
- forced.t231
- x.r27 = True
- in forced.t232
-defm.Main.Parse.parseType =
- /\ a.t234 ->
- \{-dict-} d.Main.Parse.t235 ->
- (error (String -> (a.t234, String)))
- "No default method for \"Main.Parse.defm.Main.Parse.parseType\"\n"
-{- rec -}
-dfun.Main.Parse.Char =
- ({-dict-}
- []
- [const.Main.Parse.Char.parseFile,
- const.Main.Parse.Char.parseLine,
- const.Main.Parse.Char.parse,
- const.Main.Parse.Char.parseType,
- const.Main.Parse.Char.forced])
-const.Main.Parse.Char.parseType :: String -> (Char, String)
-const.Main.Parse.Char.parseType
- (ch.r64 : str.r65)
- = (ch.r64, str.r65)
-const.Main.Parse.Char.forced :: Char -> Bool
-const.Main.Parse.Char.forced
- n.r66 = True
-const.Main.Parse.Char.parseFile =
- defm.Main.Parse.parseFile Char dfun.Main.Parse.Char
-const.Main.Parse.Char.parseLine =
- defm.Main.Parse.parseLine Char dfun.Main.Parse.Char
-const.Main.Parse.Char.parse = defm.Main.Parse.parse Char dfun.Main.Parse.Char
-{- rec -}
-dfun.Main.Parse.Int =
- ({-dict-}
- []
- [const.Main.Parse.Int.parseFile,
- const.Main.Parse.Int.parseLine,
- const.Main.Parse.Int.parse,
- const.Main.Parse.Int.parseType,
- const.Main.Parse.Int.forced])
-const.Main.Parse.Int.parseType :: String -> (Int, String)
-const.Main.Parse.Int.parseType
- str.r67 = (pl.r68 [Char]) ((Main.span' Char) isDigit str.r67)
- where
- AbsBinds [tt135] [] [(pl.t131, pl.r68)]
- {- nonrec -}
- pl.t131 :: (String, tt135) -> (Int, tt135)
- pl.t131
- (l.r69, r.r70)
- = (Main.strToInt l.r69, r.r70)
- {- nonrec -}
-const.Main.Parse.Int.forced :: Int -> Bool
-const.Main.Parse.Int.forced
- n.r71 | n.r71 >=.t140 lit.t142 = True
-const.Main.Parse.Int.parseFile =
- defm.Main.Parse.parseFile Int dfun.Main.Parse.Int
-const.Main.Parse.Int.parseLine =
- defm.Main.Parse.parseLine Int dfun.Main.Parse.Int
-const.Main.Parse.Int.parse = defm.Main.Parse.parse Int dfun.Main.Parse.Int
-AbsBinds
-[a.t173]
-[d.Main.Parse.t145]
-[(d.Main.Parse.t146, dfun.Main.Parse.List)]
- (/=.t163, neChar)
- (d.Main.Parse.t175, d.Main.Parse.t145)
- (Main.Parse.parseLine.t169, Main.Parse.parseLine a.t173 d.Main.Parse.t175)
- (d.Main.Parse.t176, d.Main.Parse.t175)
- (Main.Parse.forced.t174, Main.Parse.forced a.t173 d.Main.Parse.t176)
- {- rec -}
- d.Main.Parse.t146 =
- ({-dict-}
- []
- [parseFile.t147, parseLine.t148, parse.t149, parseType.t150, forced.t151])
- parseType.t150 :: String -> ([a.t173], String)
- parseType.t150
- more.r73 = ((map [String, a.t173])
- Main.Parse.parseLine.t169
- (Main.seperatedBy ',' (((++) Char) l.r74 ",")),
- out.r75)
- where
- AbsBinds [] [] [(l.t155, l.r74), (out.t156, out.r75)]
- {- nonrec -}
- (l.t155, (']' : out.t156)) :: ([Char], [Char])
- (l.t155, (']' : out.t156))
- = (Main.span' Char)
- (\ x.r76 -> x.r76 /=.t163 ']')
- ((tail Char) more.r73)
- {- nonrec -}
- forced.t151 :: [a.t173] -> Bool
- forced.t151 = (all a.t173) Main.Parse.forced.t174
- parseFile.t147 = defm.Main.Parse.parseFile [a.t173] d.Main.Parse.t146
- parseLine.t148 = defm.Main.Parse.parseLine [a.t173] d.Main.Parse.t146
- parse.t149 = defm.Main.Parse.parse [a.t173] d.Main.Parse.t146
-lit.t87 = MkInt 0#
-lit.t100 = MkInt 10#
-lit.t122 = MkInt 1#
-lit.t142 = lit.t87
-(>=.t140) = geInt
-AbsBinds [a.t2] [] [(span'.t1, Main.span')]
- {- rec -}
- span'.t1 :: (a.t2 -> Bool) -> [a.t2] -> ([a.t2], [a.t2])
- span'.t1
- p.r95 [] = ([] (a.t2), [] (a.t2))
- span'.t1
- p.r96 (x.r97 : xs'.r98)
- | p.r96 x.r97 =
- (fixLeak.r99 [a.t2, [a.t2]]) x.r97 (span'.t1 p.r96 xs'.r98)
- where
- AbsBinds [tt18, tt17] [] [(fixLeak.t12, fixLeak.r99)]
- {- nonrec -}
- fixLeak.t12 :: tt18 -> ([tt18], tt17) -> ([tt18], tt17)
- fixLeak.t12
- x.r100 (xs.r101, ys.r102)
- = (((:) tt18) x.r100 xs.r101, ys.r102)
- {- nonrec -}
- span'.t1
- _ xs.r103
- = ([] (a.t2), xs.r103)
-AbsBinds [] [] [(seperatedBy.t28, Main.seperatedBy)]
- (/=.t49, neChar)
- {- rec -}
- seperatedBy.t28 :: Char -> String -> [String]
- seperatedBy.t28
- ch.r87 []
- = [] (String)
- seperatedBy.t28
- ch.r88 xs.r89
- = twaddle.r90
- ch.r88
- ((Main.span' Char)
- (\ x.r94 -> x.r94 /=.t49 ch.r88)
- xs.r89)
- where
- AbsBinds [] [] [(twaddle.t35, twaddle.r90)]
- {- nonrec -}
- twaddle.t35 :: Char -> (String, [Char]) -> [String]
- twaddle.t35
- ch.r91 (l.r92, (_ : r.r93))
- = ((:) String)
- l.r92 (seperatedBy.t28 ch.r91 r.r93)
- {- nonrec -}
-AbsBinds [] [] [(whiteSpace.t52, Main.whiteSpace)]
- {- nonrec -}
- whiteSpace.t52 :: String -> String
- whiteSpace.t52 = (dropWhile Char) isSpace
-AbsBinds [] [] [(lines'.t55, Main.lines')]
- (/=.t72, neChar)
- {- rec -}
- lines'.t55 :: [Char] -> [[Char]]
- lines'.t55
- "" = [] ([Char])
- lines'.t55
- s.r104 = plumb.r105 ((Main.span' Char) ((/=.t72) '\n') s.r104)
- where
- AbsBinds [] [] [(plumb.t59, plumb.r105)]
- {- nonrec -}
- plumb.t59 :: ([Char], [Char]) -> [[Char]]
- plumb.t59
- (l.r106, s'.r107)
- = ((:) [Char])
- l.r106
- (if (null Char) s'.r107 then
- [] ([Char])
- else
- lines'.t55 ((tail Char) s'.r107))
- {- nonrec -}
-AbsBinds [] [] [(charToInt.t74, Main.charToInt)]
- (-.t77, minusInt)
- {- nonrec -}
- charToInt.t74 :: Char -> Int
- charToInt.t74
- x.r113 = (ord x.r113) -.t77 (ord '0')
-AbsBinds [] [] [(strToInt.t80, Main.strToInt)]
- (-.t119, minusInt)
- (d.Integral.t124, dfun.Integral.Int)
- {- nonrec -}
- strToInt.t80 :: String -> Int
- strToInt.t80
- x.r108 = strToInt'.r109.t117
- (((length Char) x.r108) -.t119 lit.t122) x.r108
- where
- AbsBinds
- [a.t96]
- [d.Integral.t114]
- [(strToInt'.t83, strToInt'.r109)]
- (d.Real.t115, sdsel.Integral.Real a.t96 d.Integral.t114)
- (d.Num.t111, sdsel.Real.Num a.t96 d.Real.t115)
- (fromInt.t110, fromInt a.t96 d.Num.t111)
- (lit.t107, fromInt.t110 (MkInt 1#))
- (d.Num.t112, d.Num.t111)
- (-.t105, (-) a.t96 d.Num.t112)
- (d.Num.t113, dfun.Num.Int)
- (^.t98, (^) [a.t96, Int] [d.Num.t113, d.Integral.t114])
- (*.t95, timesInt)
- (+.t93, plusInt)
- {- rec -}
- strToInt'.t83 :: a.t96 -> [Char] -> Int
- strToInt'.t83
- _ [] = lit.t87
- strToInt'.t83
- x.r112 (a.r110 : l.r111)
- = ((Main.charToInt a.r110)
- *.t95 (lit.t100 ^.t98 x.r112))
- +.t93 (strToInt'.t83
- (x.r112 -.t105 lit.t107) l.r111)
- {- nonrec -}
- strToInt'.r109.t117 = strToInt'.r109 Int d.Integral.t124
-
+tc080.hs:15:1: Signature appears after definition in class body on input: "instance"
+
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aY0-}]
+[d.Num_aY7, d.Ord_aYc]
+[([t{-aY0-}], f3{-r3A,x-}, f3_aXr)]
+ +_a100 =
+ PrelBase.+{-rcZ,p-}
+ t{-aY0-}
+ d.Num_aY7
+ d.Num_aYa =
+ d.Num_aY7
+ fromInt_aZZ =
+ PrelBase.fromInt{-8R,p-}
+ t{-aY0-}
+ d.Num_aYa
+ lit_aZY =
+ fromInt_aZZ PrelBase.I#{-5b,p-}{i} 1#
+ <_aZX =
+ PrelBase.<{-raS,p-}
+ t{-aY0-}
+ d.Ord_aYc
+ fromInt_aZW =
+ fromInt_aZZ
+ lit_aZV =
+ fromInt_aZW PrelBase.I#{-5b,p-}{i} 3#
+ d.Ord_aYf =
+ d.Ord_aYc
+ >_aZU =
+ PrelBase.>{-rd6,p-}
+ t{-aY0-}
+ d.Ord_aYf
+ fromInt_aZT =
+ fromInt_aZZ
+ lit_aZS =
+ fromInt_aZT PrelBase.I#{-5b,p-}{i} 2#
+ f3_aXr
+ x_r3t = (x_r3t +_a100 lit_aZY,
+ x_r3t <_aZX lit_aZV,
+ g3_r3v
+ PrelBase.Bool{-34,p-} PrelBase.True{-5E,p-}{i},
+ g3_r3v
+ PrelBase.Char{-38,p-} 'c')
+ where
+ {- nonrec -}
+ AbsBinds [a{-aXM-}] [] [([a{-aXM-}], g3_r3v, g3_aXv)]
+ g3_aXv
+ = \ y_r3x -> if x_r3t >_aZU lit_aZS then
+ PrelBase.[]{-5i,p-}{i}
+ a{-aXM-}
+ else
+ [y_r3x] (a{-aXM-})
+ {- nonrec -}
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aYP-}]
+[d.Num_aYW, d.Ord_aZ1]
+[([t{-aYP-}], f2{-r3B,x-}, f2_aYi)]
+ +_a109 =
+ PrelBase.+{-rcZ,p-}
+ t{-aYP-}
+ d.Num_aYW
+ d.Num_aYZ =
+ d.Num_aYW
+ fromInt_a108 =
+ PrelBase.fromInt{-8R,p-}
+ t{-aYP-}
+ d.Num_aYZ
+ lit_a107 =
+ fromInt_a108 PrelBase.I#{-5b,p-}{i} 1#
+ <_a106 =
+ PrelBase.<{-raS,p-}
+ t{-aYP-}
+ d.Ord_aZ1
+ fromInt_a105 =
+ fromInt_a108
+ lit_a104 =
+ fromInt_a105 PrelBase.I#{-5b,p-}{i} 3#
+ d.Ord_aZ4 =
+ d.Ord_aZ1
+ >_a103 =
+ PrelBase.>{-rd6,p-}
+ t{-aYP-}
+ d.Ord_aZ4
+ fromInt_a102 =
+ fromInt_a108
+ lit_a101 =
+ fromInt_a102 PrelBase.I#{-5b,p-}{i} 2#
+ f2_aYi
+ x_r3l = (x_r3l +_a109 lit_a107,
+ x_r3l <_a106 lit_a104,
+ g2_r3n
+ PrelBase.Bool{-34,p-} PrelBase.True{-5E,p-}{i},
+ g2_r3n
+ PrelBase.Char{-38,p-} 'c')
+ where
+ {- nonrec -}
+ AbsBinds [a{-aYr-}] [] [([a{-aYr-}], g2_r3n, g2_aYo)]
+ g2_aYo
+ y_r3r = if x_r3l >_a103 lit_a101 then
+ PrelBase.[]{-5i,p-}{i}
+ a{-aYr-}
+ else
+ [y_r3r] (a{-aYr-})
+ {- nonrec -}
+{- nonrec -}
+{- nonrec -}
+AbsBinds
+[t{-aZC-}]
+[d.Num_aZJ, d.Ord_aZO]
+[([t{-aZC-}], f{-r3C,x-}, f_aZ7)]
+ +_a10j =
+ PrelBase.+{-rcZ,p-}
+ t{-aZC-}
+ d.Num_aZJ
+ d.Num_aZM =
+ d.Num_aZJ
+ fromInt_a10i =
+ PrelBase.fromInt{-8R,p-}
+ t{-aZC-}
+ d.Num_aZM
+ lit_a10h =
+ fromInt_a10i PrelBase.I#{-5b,p-}{i} 1#
+ <_a10g =
+ PrelBase.<{-raS,p-}
+ t{-aZC-}
+ d.Ord_aZO
+ fromInt_a10f =
+ fromInt_a10i
+ lit_a10e =
+ fromInt_a10f PrelBase.I#{-5b,p-}{i} 3#
+ d.Ord_aZR =
+ d.Ord_aZO
+ >_a10d =
+ PrelBase.>{-rd6,p-}
+ t{-aZC-}
+ d.Ord_aZR
+ fromInt_a10c =
+ fromInt_a10i
+ lit_a10a =
+ fromInt_a10c PrelBase.I#{-5b,p-}{i} 2#
+ f_aZ7
+ x_r3f = (x_r3f +_a10j lit_a10h,
+ x_r3f <_a10g lit_a10e,
+ g_r3h
+ PrelBase.Bool{-34,p-} PrelBase.True{-5E,p-}{i},
+ g_r3h
+ PrelBase.Char{-38,p-} 'c')
+ where
+ {- nonrec -}
+ AbsBinds [t{-aZn-}] [] [([t{-aZn-}], g_r3h, g_aZb)]
+ g_aZb
+ y_r3j = if x_r3f >_a10d lit_a10a then
+ PrelBase.[]{-5i,p-}{i}
+ t{-aZn-}
+ else
+ [y_r3j] (t{-aZn-})
+ {- nonrec -}
+{- nonrec -}
+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 $d14 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d3 1 $d32 1 $d33 1 $d34 1 $d37 1 $d38 1 $d39 1 $d41 1 $d42 1 $d44 1 $d45 1 $d46 1 $d49 1 $d50 1 $d51 1 $d54 1 $d55 1 $d6 1 $d7 1 $d8 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1;
+PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1;
+PrelTup 1 :: $d11 1 $d15 1 $d2 1 $d51 1;
+_exports_
+ShouldSucceed f f2 f3;
+_declarations_
+1 f _:_ _forall_ [a] {PrelBase.Num a, PrelBase.Ord a} => a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;;
+1 f2 _:_ _forall_ [a] {PrelBase.Num a, PrelBase.Ord a} => a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;;
+1 f3 _:_ _forall_ [a] {PrelBase.Num a, PrelBase.Ord a} => a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;;
+
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+normal{-r3q,x-} =
+ _/\_ a{-r3o-} -> \ tpl_B1 ->
+ tpl_B1
+{- nonrec -}
+AbsBinds
+[a{-avr-}]
+[d.Normal_avk]
+[([a{-avr-}], $mnormal{-ruO,x-}, normal_avm)]
+ AbsBinds [] [] [([], normal_avm, normal_avo)]
+ normal_avo
+ = GHCerr.noDefaultMethodError{-8k,p-}
+ (a{-avr-} -> PrelBase.Bool{-34,p-}) "Class Normal Method normal"
+{- rec -}
+AbsBinds
+[a{-avf-}, b{-avg-}]
+[]
+[([a{-avf-}, b{-avg-}], $d1{-rvs,x-}, d.Normal_av9)]
+ AbsBinds [] [] [([], normal_avt, normal_avc)]
+ normal_avc
+ _ = PrelBase.True{-5E,p-}{i}
+ d.Normal_av9 =
+ ({-dict-} [] [normal_avt])
+{- nonrec -}
+{- nonrec -}
+AbsBinds [t{-auZ-}] [] [([t{-auZ-}], f{-r3p,x-}, f_auN)]
+ d.Normal_av1 =
+ $d1{-rvs,x-}
+ [GHC.Void{-3T,p-}, GHC.Void{-3T,p-}]
+ normal_avu =
+ normal{-r3q,x-}
+ (GHC.Void{-3T,p-} -> GHC.Void{-3T,p-})
+ d.Normal_av1
+ f_auN
+ x_r3f = normal_avu PrelBase.id{-raJ,p-}
+ GHC.Void{-3T,p-}
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ N 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: id 1;
+_exports_
+N f Normal(normal);
+_instances_
+instance _forall_ [a b] => {Normal (a -> b)} = $d1;
+_declarations_
+1 $d1 _:_ _forall_ [a b] => {Normal (a -> b)} ;;
+1 $mnormal _:_ _forall_ [a] {Normal a} => a -> PrelBase.Bool ;;
+1 class Normal r3o where {normal :: r3o -> PrelBase.Bool} ;
+1 f _:_ _forall_ [a] => a -> PrelBase.Bool ;;
+
+
+--================================================================================
+Typechecked:
+{- rec -}
+AbsBinds
+[a{-auS-}]
+[d.Foo_av1]
+[([a{-auS-}], $d1{-rvF,x-}, d.Foo_auJ)]
+ d.Foo_av5 =
+ d.Foo_auJ
+ $mop1_avJ =
+ ClassFoo.$mop1{-ruM,p-}
+ [a{-auS-}]
+ d.Foo_av5
+ d.Foo_av7 =
+ d.Foo_auJ
+ $mop2_avI =
+ ClassFoo.$mop2{-ruP,p-}
+ [a{-auS-}]
+ d.Foo_av7
+ AbsBinds [] [] [([], op1_auL, op1_auO)]
+ op1_auO
+ = $mop1_avJ
+ AbsBinds [] [] [([], op2_auW, op2_auY)]
+ op2_auY
+ = $mop2_avI
+ d.Foo_auJ =
+ ({-dict-} [] [op1_auL, op2_auW])
+{- rec -}
+AbsBinds [] [] [([], $d2{-rvK,x-}, d.Foo_avd)]
+ AbsBinds [] [] [([], op1_avf, op1_avh)]
+ op1_avh
+ = $mop1_avH
+ AbsBinds [] [] [([], op2_avo, op2_avq)]
+ op2_avq
+ = $mop2_avG
+ d.Foo_avd =
+ ({-dict-} [] [op1_avf, op2_avo])
+{- nonrec -}
+d.Foo_avB =
+ $d2{-rvK,x-}
+$mop1_avH =
+ ClassFoo.$mop1{-ruM,p-}
+ PrelBase.Int{-3g,p-}
+ d.Foo_avB
+d.Foo_avE =
+ d.Foo_avB
+$mop2_avG =
+ ClassFoo.$mop2{-ruP,p-}
+ PrelBase.Int{-3g,p-}
+ d.Foo_avE
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ Bar 1
+_instance_modules_
+ArrBase Bar IO PrelNum
+_usages_
+ClassFoo 1 :: Foo 1;
+_exports_
+_instances_
+instance _forall_ [a] {ClassFoo.Foo a} => {ClassFoo.Foo [a]} = $d1;
+instance {ClassFoo.Foo PrelBase.Int} = $d2;
+_declarations_
+1 $d1 _:_ _forall_ [a] {ClassFoo.Foo a} => {ClassFoo.Foo [a]} ;;
+1 $d2 _:_ {ClassFoo.Foo PrelBase.Int} ;;
+
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+d.Num_aHu =
+ PrelBase.$d3{-rbi,p-}
+{- nonrec -}
+AbsBinds
+[a{-aH2-}, b{-aH5-}]
+[d.Num_aHd]
+[([b{-aH5-}, a{-aH2-}], g{-r3h,x-}, g_aGY)]
+ d.Num_aHf =
+ d.Num_aHd
+ +_aHG =
+ PrelBase.+{-rcQ,p-}
+ a{-aH2-}
+ d.Num_aHf
+ d.Num_aHh =
+ d.Num_aHd
+ -_aHF =
+ PrelBase.-{-817,p-}
+ a{-aH2-}
+ d.Num_aHh
+ g_aGY
+ b_r3l x_r3n y_r3p
+ = if b_r3l then x_r3n +_aHG x_r3n else x_r3n -_aHF x_r3n
+{- nonrec -}
+{- nonrec -}
+AbsBinds [b{-aHp-}] [] [([b{-aHp-}], f{-r3j,x-}, f_aHj)]
+ g_aHH =
+ g{-r3h,x-}
+ [b{-aHp-}, PrelBase.Int{-3g,p-}]
+ d.Num_aHu
+ f_aHj
+ = g_aHH PrelBase.True{-5E,p-}{i}
+{- nonrec -}
+{- nonrec -}
+AbsBinds [b{-aHE-}] [] [([b{-aHE-}], h{-r3i,x-}, h_aHw)]
+ h_aHw
+ y_r3r x_r3t
+ = f{-r3j,x-}
+ b{-aHE-} x_r3t y_r3r
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ Foo 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_
+Foo f g h;
+_declarations_
+1 f _:_ _forall_ [a] => PrelBase.Int -> a -> PrelBase.Int ;;
+1 g _:_ _forall_ [a b] {PrelBase.Num b} => PrelBase.Bool -> b -> a -> b ;;
+1 h _:_ _forall_ [a] => a -> PrelBase.Int -> PrelBase.Int ;;
---! From a bug report from Satnam.
---! To do with re-exporting importees from PreludeGla* modules.
-module Foo ( PreludePrimIO.., {-PreludeGlaIO..,-} Foo..) where
+--!!! From a bug report from Satnam.
+--!!! To do with re-exporting importees from PreludeGla* modules.
+module Foo ( module GlaExts, module Foo ) where
--OLD: import PreludeGlaIO
-import PreludePrimIO
+import GlaExts
type FooType = Int
data FooData = FooData
+
+
+--================================================================================
+Typechecked:
+{- nonrec -}
+FooData{-r2,x-}{i} =
+ FooData{-r2,x-}{i}
+ {}
+{- rec -}
+AbsBinds [] [] [([], $d1{-rGv,x-}, d.Eval_aGs)]
+ d.Eval_aGs =
+ ({-dict-} [] [])
+{- nonrec -}
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ Foo 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+GlaExts 1 :: ;
+PrelBase 1 :: $d37 1 $d39 1 $d41 1 $d46 1 Eval 1;
+_exports_
+ArrBase boundsOfArray boundsOfByteArray freezeAddrArray freezeArray freezeCharArray freezeDoubleArray freezeFloatArray freezeIntArray indexAddrArray indexAddrOffAddr indexCharArray indexCharOffAddr indexDoubleArray indexDoubleOffAddr indexFloatArray indexFloatOffAddr indexIntArray indexIntOffAddr newAddrArray newArray newCharArray newDoubleArray newFloatArray newIntArray readAddrArray readArray readCharArray readDoubleArray readFloatArray readIntArray thawArray unsafeFreezeArray unsafeFreezeByteArray writeAddrArray writeArray writeCharArray writeDoubleArray writeFloatArray writeIntArray ByteArray(ByteArray) MutableArray(MutableArray) MutableByteArray(MutableByteArray);
+Foo FooData(FooData) FooType;
+Foreign Addr(A#) Word(W#);
+GHC *# *## **## +# +## -# -## /## /=# /=## <# <## <=# <=## ==# ==## ># >## >=# >=## acosDouble# acosFloat# addr2Int# and# asinDouble# asinFloat# atanDouble# atanFloat# chr# cmpInteger# cosDouble# cosFloat# coshDouble# coshFloat# deRefStablePtr# decodeDouble# decodeFloat# delay# divideFloat# double2Float# double2Int# encodeDouble# encodeFloat# eqAddr# eqChar# eqFloat# eqWord# errorIO# expDouble# expFloat# float2Double# float2Int# fork# geAddr# geChar# geFloat# geWord# gtAddr# gtChar# gtFloat# gtWord# iShiftL# iShiftRA# iShiftRL# indexAddrArray# indexAddrOffAddr# indexArray# indexCharArray# indexCharOffAddr# indexDoubleArray# indexDoubleOffAddr# indexFloatArray# indexFloatOffAddr# indexIntArray# indexIntOffAddr# int2Addr# int2Double# int2Float# int2Integer# int2Word# integer2Int# leAddr# leChar# leFloat# leWord# logDouble# logFloat# ltAddr# ltChar# ltFloat# ltWord# makeForeignObj# makeStablePtr# minusFloat# minusInteger# neAddr# neChar# neFloat# neWord# negateDouble# negateFloat# negateInt# negateInteger# newAddrArray# newArray# newCharArray# newDoubleArray# newFloatArray# newIntArray# newSynchVar# not# or# ord# par# parAt# parAtForNow# parGlobal# parLocal# plusFloat# plusInteger# powerFloat# putMVar# quotInt# quotRemInteger# readAddrArray# readArray# readCharArray# readDoubleArray# readFloatArray# readIntArray# realWorld# remInt# sameMutableArray# sameMutableByteArray# seq# shiftL# shiftRA# shiftRL# sinDouble# sinFloat# sinhDouble# sinhFloat# sqrtDouble# sqrtFloat# takeMVar# tanDouble# tanFloat# tanhDouble# tanhFloat# timesFloat# timesInteger# unsafeFreezeArray# unsafeFreezeByteArray# waitRead# waitWrite# word2Int# writeAddrArray# writeArray# writeCharArray# writeDoubleArray# writeFloatArray# writeForeignObj# writeIntArray# -> Addr# All Array# ByteArray# Char# Double# Float# ForeignObj# Int# MutableArray# MutableByteArray# RealWorld StablePtr# State# SynchVar# Void Word#;
+IOBase ioToPrimIO ioToST primIOToIO seqIO_Prim stToIO thenIO_Prim trace;
+Ix Ix;
+PrelBase Char(C#) Double(D#) Float(F#) Int(I#) Integer(J#);
+STBase fixPrimIO listPrimIO mapAndUnzipPrimIO mapPrimIO returnPrimIO seqPrimIO thenPrimIO unsafeInterleavePrimIO unsafePerformPrimIO PrimIO ST;
+_fixities_
+infixr 1 seqIO_Prim;
+infixr 1 thenIO_Prim;
+_instances_
+instance {PrelBase.Eval FooData} = $d1;
+_declarations_
+1 $d1 _:_ {PrelBase.Eval FooData} ;;
+1 data FooData = FooData ;
+1 type FooType = PrelBase.Int ;