Live data from Hacker News

WebAsm: Forth with Lisp Syntax

ph1lter.bitbucket.io

1–10 of 11 posts

Re: WebAsm: Forth with Lisp Syntax

#2
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)

Re: WebAsm: Forth with Lisp Syntax

#3

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”.)

Re: WebAsm: Forth with Lisp Syntax

#5
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.

Re: WebAsm: Forth with Lisp Syntax

#6

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.

Re: WebAsm: Forth with Lisp Syntax

#7

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.

Re: WebAsm: Forth with Lisp Syntax

#8

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”.)

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

Re: WebAsm: Forth with Lisp Syntax

#9
post #7

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.

Re: WebAsm: Forth with Lisp Syntax

#10
post #6

Earlier quoted context omitted.

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.

[deleted]
Post reply on HN