X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcoreSyn%2FCorePrep.lhs;h=3a6d037979b3fea5f11e38dab2fc42d1548f691f;hb=fce8977b62fa277fa612d7caee2b31d5a8224f0d;hp=908c90ceb854988b0278a75432976bab3a5770e0;hpb=6af98b2f2302d06f8e545c610eb5f2881ed88540;p=ghc-hetmet.git diff --git a/compiler/coreSyn/CorePrep.lhs b/compiler/coreSyn/CorePrep.lhs index 908c90c..3a6d037 100644 --- a/compiler/coreSyn/CorePrep.lhs +++ b/compiler/coreSyn/CorePrep.lhs @@ -407,7 +407,7 @@ rhsToBodyNF rhs = do { (floats,body) <- rhsToBody rhs -------- rhsToBody :: CpeRhs -> UniqSM (Floats, CpeBody) --- Remove top level lambdas by let-bindinig +-- Remove top level lambdas by let-binding rhsToBody (Note n expr) -- You can get things like @@ -511,10 +511,10 @@ cpeApp env expr = collect_args fun depth -- They aren't used by the code generator -- N-variable fun, better let-bind it - -- ToDo: perhaps we can case-bind rather than let-bind this closure, - -- since it is sure to be evaluated. collect_args fun depth = do { (fun_floats, fun') <- cpeArg env True fun ty + -- The True says that it's sure to be evaluated, + -- so we'll end up case-binding it ; return (fun', (fun', depth), ty, fun_floats, []) } where ty = exprType fun