+
+
+--================================================================================
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 ;;