Proper tail calls were added to the JS standard, but most implementations don't provide it. V8 even built it then removed it!
The concern is worse developer experience. An opt-in syntax has been proposed (cf loop/recur in Clojure) but no consensus.
https://www.mgmarlow.com/words/2021-03-27-proper-tail-calls-js/
miniblog.
Related Posts
Evaluate snippets of Clojure with the bindings set up as if you'd called the function. This neat idea was proposed in https://blog.cognitect.com/blog/2017/6/5/repl-debugging-no-stacktrace-required and https://github.com/vvvvalvalval/scope-capture builds tooling to automate it!
A fascinating proposed feature for magit: reverse blame! https://github.com/magit/magit/issues/3055 (view the last commit that a given line exists in)
Ever wondered if pip has broken some dependencies in your virtualenv? The patch I proposed has landed!