Response to the proposal to add explicit tail call syntax to ECMAScript · Issue #535 · tc39/ecma262

TC39 talking about removing Proper Tail Calls (PTC). JavaScriptCore team against PTC proposal.

Given that tail calls are currently part of the ES6 and draft ES7 specification, a compliant implementation should implement tail calls as described in those specifications. Compliance with any proposed changes would not occur for almost two years since the earliest that any proposed tail call changes could be adopted would be for the ES2017 (ES8?) specification. In the mean time web pages and Javascript applications will be created that are susceptible to future breakage. –

It is hard that testing the feature of current PTC proposal.

That difference between PTC and TCO is that PTC is required (and observable) semantics. –

@rossberg-chromium said that

I don’t see the interop issue or any complication with feature testing if we replace PTC with STC – quite the opposite, in fact. The only way we could practically get into a situation is if some browser shipped a semantics before we have resolved this discussion. That’s why Chrome has pulled PTC from v51, although it was ready. –


  • Current tail call spec define PTC-dependent algorithm.
  • If the algorithm is changed, it may break the web.

blog comments powered by Disqus