| - case = only place evaluation occurs
| - let = only place heap allocation occurs / thunk creation / introduce
laziness
As Simon says, that's not true of Core, only of STG (or Core after CorePrep).
In a application (f e), where is not "trivial" (see CoreUtils.exprIsTrivial),
- the application allocates e if f is non-strict
- the applciation evaluates e if f is strict
If you wanted to write a Wiki page in the Commentary summarising your
understanding, I'd be happy to check it over. Think of the page you'd *like*
to have read rather than working it out by experiment.
Simon
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc