Ivan Reese
07/25/2019, 6:03 PMIt is incompatible with all the known research on proving programs correct, which is going on in Academia.This doesn't square with Elm, or PureScript, does it? Those are languages that seem to do a remarkable job of offering strict guarantees about correctness, despite the alleged impurity of the underlying platform.
which may be relaxed in the future as WebASM evolvesWASM (as it is more commonly known) might serve well as a functional core, but you still need to use JS APIs to do any useful work, and I don't believe there's any plan to change that. My understanding is that JS will continue to be an important part of anything built on the web platform, no matter how much leverage you're able to get from WASM.
The two main things that will distinguish the next generation of programming languages is 1) creating an ecosystem of interchangeable parts, and 2) drastically reducing the chance for error by the human programmerI'd wager that if you took a survey of folks in this Slack ā people who have spent considerable portions of their careers considering these exact issues ā you'd find a spectrum of people who vary from strong agreement to strong disagreement with that statement. I, personally, am so far on one end that I'd say I "stringly disagree" with that statement, in that I feel that there's plenty of room for, and benefit to be had from, a return to TCL-style string-based metaprogramming. More, looser dynamism. But I know, without any doubt, that that is just my opinion.
If your code doesn't work, it doesn't matter how pretty/fun it was to make.There's an implication here that JS doesn't work. Was that your intent?
They have delivered more than a million to 1 price/performance improvement over the last 25 years. Can software even claim 10:1 improvement over the last 25 years?This is totally an apples-to-oranges comparison for a tremendous number of reasons, but I will offer one angle of consideration that makes the mistake of taking your claim seriously: The number of people who are writing software now.. who are even able to write software.. has grown much, much faster than the number of people who are able to make their own hardware. Make of that what you will.
abeyer
07/25/2019, 7:10 PMbut you still need to use JS APIs to do any useful work, and I don't believe there's any plan to change thatCurious where you source that... Everything I've read makes it sound like the current limitations that require js are meant to be temporary until wasm matures a bit more, not inherent to the design
Ivan Reese
07/25/2019, 7:48 PMWebAssembly modules will be able to call into and out of the JavaScript context and access browser functionality through the same Web APIs accessible from JavaScript.I should have said "Web APIs" instead of "JS APIs". Basically, the APIs that expose browser functionality to your code. Those APIs are designed around JS semantics, so there's probably no escaping some dissonance if you're trying to run a very pure, safe language inside WASM but still actually make something that people can use. (Yes, this is not that different from running a pure, safe language on top of any other platform designed for C or POSIX or what have you.)
abeyer
07/25/2019, 8:04 PMIvan Reese
07/25/2019, 8:07 PMabeyer
07/25/2019, 8:09 PMIvan Reese
07/25/2019, 8:16 PMDeklan Webster
07/25/2019, 10:49 PMThe proposal describes adding a new mechanism to WebAssembly for reliably avoiding unnecessary overhead when calling, or being called, through a Web IDL interface.
Ivan Reese
07/25/2019, 11:31 PMabeyer
07/26/2019, 12:05 AMWouter
07/26/2019, 1:53 AM