X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FsimplCore%2FLiberateCase.lhs;h=01e410dfb76b2af58b6fdd39e89748418f069547;hb=43f19eec0ec4c507be2391d66ff53e79a8580561;hp=31063d3b2491b7a32fd859137fc8904aefa32cdd;hpb=7aa3f5247ae454b10b61e2f28a9431f0889a8cff;p=ghc-hetmet.git diff --git a/compiler/simplCore/LiberateCase.lhs b/compiler/simplCore/LiberateCase.lhs index 31063d3..01e410d 100644 --- a/compiler/simplCore/LiberateCase.lhs +++ b/compiler/simplCore/LiberateCase.lhs @@ -90,7 +90,7 @@ Consider this: f = \ t -> case (v `cast` co) of V a b -> a : f t -Exactly the same optimistaion (unrolling one call to f) will work here, +Exactly the same optimisation (unrolling one call to f) will work here, despite the cast. See mk_alt_env in the Case branch of libCase. @@ -108,7 +108,6 @@ big. Data types ~~~~~~~~~~ - The ``level'' of a binder tells how many recursive defns lexically enclose the binding A recursive defn "encloses" its RHS, not its @@ -411,7 +410,7 @@ data LibCaseEnv initEnv :: DynFlags -> FamInstEnvs -> LibCaseEnv initEnv dflags fams - = LibCaseEnv { lc_size = libCaseThreshold dflags, + = LibCaseEnv { lc_size = specThreshold dflags, lc_lvl = 0, lc_lvl_env = emptyVarEnv, lc_rec_env = emptyVarEnv,