Title: WebAssembly is a modern bytecode supported by all browsers and designed to be a compiler target for a wide variety of programming languages.<p>To effectively support some forms of Functional Programming support for tail-calls has been proposed as an extension to the WebAssembly standard.<p>This proposal has reached Phase3 of the standardization process years ago, but has since stalled.<p>Phase3 is known as &quot;the implementation phase&quot; and the prerequisite for advancing the proposal to Phase4 is to have support in two different browser engines. V8&#x2F;Chrome support has been available for a long time, so another engine is required.<p>To unblock this situation we have contributed full support for WebAssembly Tail Calls to JavaScript&#x2F;WebKit&#x2F;Safari. The PR is available here:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;WebKit&#x2F;WebKit&#x2F;pull&#x2F;2065" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;WebKit&#x2F;WebKit&#x2F;pull&#x2F;2065</a><p>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.<p><a href="https:&#x2F;&#x2F;leaningtech.com&#x2F;fantastic-tail-calls-and-how-to-implement-them&#x2F;" rel="nofollow">https:&#x2F;&#x2F;leaningtech.com&#x2F;fantastic-tail-calls-and-how-to-impl...</a>
Upvote: