top | item 46487589

(no title)

mikehall314 | 1 month ago

I assume the 98% compatibility on ES6 for V8 is because they don't have tail call optimisation?

discuss

order

ivankra|1 month ago

Pretty much. ES6+ scores are from running compat-table's test suite (https://compat-table.github.io/compat-table/es6/), along with their weighting. If you click on an engine's name to go to a page about it, there's a report at the bottom with failing tests.

senfiaj|1 month ago

Maybe because with tail call optimization you wouldn't have a proper stack trace?

ggggffggggg|1 month ago

I never understood this complaint. You won’t get a “loop trace” when you convert your tail calls into an iterative algorithm. And your code will be less readable to boot.

mikehall314|1 month ago

Supposedly, although the team at Apple were able to implement it. I think they had some oddly named technology like Chicken which created a shadow stack trace? Half remembered.