Tell HN: We are trying to get tail calls into the WebAssembly standard

https://news.ycombinator.com/item?id=32069418
by apignotti • 4 years ago
625 290 4 years ago

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://github.com/WebKit/WebKit/pull/2065

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://leaningtech.com/fantastic-tail-calls-and-how-to-impl...

Related Stories

Loading related stories...

Source preview

news.ycombinator.com