[1 of 1] Compiling Main ( digits.hs, digits.o ) ==================== Tidy Core ==================== Result size of Tidy Core = {terms: 69, types: 85, coercions: 12} lvl_r1qU :: Integer [GblId, Caf=NoCafRefs, Str=DmdType] lvl_r1qU = __integer 10 Rec { Main.$w$sdigits [InlPrag=[0], Occ=LoopBreaker] :: Integer -> (# Int, [Int] #) [GblId, Arity=1, Str=DmdType ] Main.$w$sdigits = \ (w_s1pI :: Integer) -> case integer-gmp-1.0.0.0:GHC.Integer.Type.ltInteger# w_s1pI lvl_r1qU of wild_a17q { __DEFAULT -> case GHC.Prim.tagToEnum# @ Bool wild_a17q of _ [Occ=Dead] { False -> let { ds_s16Q [Dmd=] :: (Integer, Integer) [LclId, Str=DmdType] ds_s16Q = case integer-gmp-1.0.0.0:GHC.Integer.Type.quotRemInteger w_s1pI lvl_r1qU of _ [Occ=Dead] { (# ipv_a17D, ipv1_a17E #) -> (ipv_a17D, ipv1_a17E) } } in (# case ds_s16Q of _ [Occ=Dead] { (q_a11V, r_X12h) -> case integer-gmp-1.0.0.0:GHC.Integer.Type.integerToInt r_X12h of wild3_a17c { __DEFAULT -> GHC.Types.I# wild3_a17c } }, case ds_s16Q of _ [Occ=Dead] { (q_X12h, r_X129) -> case Main.$w$sdigits q_X12h of _ [Occ=Dead] { (# ww1_s1pO, ww2_s1pP #) -> GHC.Types.: @ Int ww1_s1pO ww2_s1pP } } #); True -> (# GHC.Num.$fNumInt_$cfromInteger w_s1pI, GHC.Types.[] @ Int #) } } end Rec } Main.main3 :: Integer [GblId, Caf=NoCafRefs, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] Main.main3 = __integer 1 Main.main2 :: [Int] [GblId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 30}] Main.main2 = case Main.$w$sdigits Main.main3 of _ [Occ=Dead] { (# ww1_s1pO, ww2_s1pP #) -> GHC.Types.: @ Int ww1_s1pO ww2_s1pP } Main.main1 :: GHC.Prim.State# GHC.Prim.RealWorld -> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #) [GblId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True)}] Main.main1 = \ (s_a17U [OS=OneShot] :: GHC.Prim.State# GHC.Prim.RealWorld) -> (# s_a17U, Main.main2 #) main :: IO [Int] [GblId, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) Tmpl= Main.main1 `cast` (Sym (GHC.Types.NTCo:IO[0] <[Int]>_R) :: (GHC.Prim.State# GHC.Prim.RealWorld -> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #)) ~R# IO [Int])}] main = Main.main1 `cast` (Sym (GHC.Types.NTCo:IO[0] <[Int]>_R) :: (GHC.Prim.State# GHC.Prim.RealWorld -> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #)) ~R# IO [Int]) Main.main4 :: GHC.Prim.State# GHC.Prim.RealWorld -> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #) [GblId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}] Main.main4 = GHC.TopHandler.runMainIO1 @ [Int] (Main.main1 `cast` (Sym (GHC.Types.NTCo:IO[0] <[Int]>_R) :: (GHC.Prim.State# GHC.Prim.RealWorld -> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #)) ~R# IO [Int])) :Main.main :: IO [Int] [GblId, Arity=1, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True) Tmpl= Main.main4 `cast` (Sym (GHC.Types.NTCo:IO[0] <[Int]>_R) :: (GHC.Prim.State# GHC.Prim.RealWorld -> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #)) ~R# IO [Int])}] :Main.main = Main.main4 `cast` (Sym (GHC.Types.NTCo:IO[0] <[Int]>_R) :: (GHC.Prim.State# GHC.Prim.RealWorld -> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #)) ~R# IO [Int]) Linking digits.exe ...