
Show HN: We are trying to (finally) get tail-calls into the WebAssembly standard
by apignotti on Hacker News.
WebAssembly is a modern bytecode supported by all browsers and designed to be a compiler target for a wide variety of programming languages. To effectively support some forms of Functional Programming support for tail-calls has been proposed as an extension to the WebAssembly standard. This proposal has reached Phase3 of the standardization process years ago, but has since stalled. Phase3 is known as “the implementation phase” and the prerequisite for advancing the proposal to Phase4 is to have support in two different browser engines. V8/Chrome support has been available for a long time, so another engine is required. To unblock this situation we have contributed full support for WebAssembly Tail Calls to JavaScript/WebKit/Safari. The PR is available here: https://ift.tt/JzreLxd An in-depth article about the challenges of implementing this feature is also available. This is intended both as documentation for our contribution, but also as a general explainer about how tails calls actually work, with a particular focus on stack space management. https://ift.tt/7cIeDgY
