
10 Apr
2007
10 Apr
'07
6:13 p.m.
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