On Tue, Apr 10, 2007 at 07:59:04PM +0100, Lennart Augustsson wrote:
> So then tail calls should be very cheap when most of the arguments
> don't change.
>> On Apr 10, 2007, at 10:17 , Simon Marlow wrote:
>> >Lennart Augustsson wrote:
> >>It's not that hard to figure out an order to permute the arguments
> >>on the stack before a tail call that minimizes that number of
> >>moves and temporary locations. Lmlc did this 20 years ago. :)
> >
> >Right, and that's what GHC does too, with a strongly-connected-
> >component analysis of the dependencies between assignments of the
> >args for the tail call.
> >
> >Cheers,
> > Simon
The tailcall in question is NOT statically known (it is a variant of
CPS), so simpleminded tail recursion optimizations will not help much.
Stefan