| No, I don't want to duplicate. But in my example the let var was only
| used once, so there was no sharing problem.
Not so in general -- floating outside a lambda that is called many times can
dramatically increase sharing.
You're right that all you want is to *forgo* an optimisation; but I
| This is a bit disappointing of course, so how do we fix it. There are
| two possibilities as far as I can see. Either don't let float it, or
| have the rule matcher look through the indirection.
This is a tricky one. One possibility would be to postpone full laziness until
later in the
On Mon, 2007-06-04 at 12:31 +0100, Simon Peyton-Jones wrote:
| This is a bit disappointing of course, so how do we fix it. There are
| two possibilities as far as I can see. Either don't let float it, or
| have the rule matcher look through the indirection.
This is a tricky one. One