
Binaryen: Compiler infrastructure and toolchain library for WebAssembly, in C++ - ingve
https://github.com/WebAssembly/binaryen
======
lomnakkus
There was quite a bit of interesting and colourful discussion over at [1].

I'm not entirely sure why this is worth a resubmission (so soon) as Binaryen
was featured quite prominently, but it is what it is.

[1]
[https://news.ycombinator.com/item?id=10753574](https://news.ycombinator.com/item?id=10753574)

------
jokoon
I still fail to see what is WASM, concretely. Is it some ASM dialect? Or is an
executable file format, which will be ran by browsers?

If so, what happens when your C++ app use some library which make some OS
calls, or when your library is OS dependent? How is made compatible with what
the browser does instead?

In theory it's great, programs run "inside" of, and depend on a browser
platform, instead of an OS platform, essentially because OS vendors are
dedicated to have their toolchains built for their OS, especially designed in
many ways to not work on other competitor OSes. But in practice, how to you
allow developers to make all those C++ lines of code compatible with something
new?

~~~
bobajeff
Think of it more as asm.js the next generation.

Wasm is to be another dialect your JavaScript engine understands. In it's
initial version it is designed to fully map to asm.js.

The main difference between wasm and asm.js at first will be the binary
format. Practically speaking it'll lower the file size and start-up time.

