10 comments

[ 7.5 ms ] story [ 39.1 ms ] thread
WebAsm: Forth with Lisp Syntax. Overview of WebAsm text format, with example. (note: The code is tested and works, however, live example not loading since bitbucket won't send the correct content-type application/wasm for .wasm files; instead sending text/plain)
Most of the time you’re calling it “WebAsm”, but that’s not its name. Would you mind changing them all to “WebAssembly” or “WASM”/“Wasm”/“wasm”?

(Concerning capitalisation, though you don’t look to concern yourself with that, https://webassembly.org/ and a few other sources abbreviate it to “Wasm”; before March 2018, that site used “wasm” instead; in common practice, almost everything I ever see uses “WASM”.)

I also found "WebAsm" a bit jarring to see.
(comment deleted)
Based on the title I initially thought it was an unfortunately-named new language called "WebAsm", that took inspiration from Forth and Lisp, since WebAsm isn't quite the real name
Hmm, I think it's not a bad idea to add webasm as an additional abbreviation between WebAssembly (too hard to type) and wasm (too cryptic.)
(comment deleted)
It’s misleading to say that WASM has no registers in the virtual machine. Function locals behave very much like a static set of registers. The stack machine is mostly used to encode expression computations but ultimately data shuffles around through locals and not through the stack.

This is evident by the lack of “dup” and “swap” instructions which are critical to passing data around in a pure stack machine.

The purpose of an intermediary virtual machine target is that it abstracts away details like that. It's not that registers won't be used at some point, it is about encapsulation, working at the right level of abstraction, and separating it from underlying hardware concerns.
I don’t get the purpose of your comment. Are you saying WASM isn’t a good intermediary virtual machine target because it provides locals? If so, I never said it was. I was simply clarifying a claim made in the OP.