Tue, 14 Sep 1999 12:10:39 -0700 (PDT)
> Can you elaborate? In particular, I was wondering whether this
> would happen in the most common case, namely a curried function
> that is always fully applied. In this case, wouldn't the simplifier
> running after closure conversion be able to remove the extra
Not necessarily so. Suppose you have the following
fun f a b = ... x1 ... x2 ... xn ... a ...
Then, the closure converted form of f would look like
fun f(r, a) =
val x1 = #1 r
val xn = #n r
(x1, ..., xn, a)
It doesn't matter if f is fully applied if this expression is too big
to be inlined.