Commit 4a48f32d authored by sof's avatar sof
Browse files

[project @ 1997-05-26 05:37:13 by sof]

Updated for 2.03
parent e2656c34
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