Questions on Proper Tail Calls

Allen Wirfs-Brock allen at
Sat Mar 9 17:22:47 PST 2013

On Mar 9, 2013, at 3:00 PM, Angus Croll wrote:

> 1. Will proper tail calls only happen in strict mode, and if not are we ok with losing backwards compatibility re. [function].caller and [callingFunction].arguments?

Apparently yes, there is a note in the draft that we reached that conclusion at a TC39 meeting

> 2. Will tail call behavior apply regardless of the tail call syntax? (fn(),, fn.apply)?

yes, assuming that the actual call to fn is in a tail position within the call or apply function implementations.  I'll review to spec. to make sure.

> 3. Will tail call behavior apply even when the tail call is not recursive?


> 4. If function fn has a function call in the tail position and is then bound (fn2 = fn.bind(x)),  will fn2 also support proper tail calls? (I think this is only relevant if (3) is true)

yes, it is only based upon the syntactic structure of the function making the call, not it's bindings

> thanks
> _______________________________________________
> es-discuss mailing list
> es-discuss at

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list