[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Addition of map() and filter().
- From: Mark Hamburg <mark@...>
- Date: Tue, 13 Oct 2009 16:08:23 -0700
On Oct 13, 2009, at 3:35 PM, TNHarris wrote:
Which could be optimized to use local variables only. However, that
demonstrate one thing about Lua that I didn't expect. This...
return something, F()
... isn't a tail-call. I thought it would be, but the comma operator
enough to prevent the optimization. I think it would be a worthwhile
change to the VM to allow a tail-call in this case.
This can't be a tail call because it has to process the results of F()
to combine them with something before returning further up the chain.
So, in this case, you might actually want to fear recursion.
Basically, you want to write map and filter in C because it will be
much easier to work with varargs efficiently in C.