Hacker News new | ask | show | jobs
by ereslibre 1279 days ago
WebAssembly is a binary format executed in a virtual machine. By default, the execution is isolated from the host OS, so that there is no concept of syscall to the OS directly from your WebAssembly module. The WASM module calls to certain exports (the WASI layer) whose endpoints are implemented by the runtime. However, the runtime in this case has the ability to decide whether and how this call that would correspond to a syscall directly had it been run on the OS directly will be mapped to the OS in reality. You might want to map that to a syscall on a real OS, or the Wasmtime runtime could be running in an embedded environment where there is no OS as we might otherwise assume.

WebAssembly also allows for powerful constructs like the component model, where components written in even different languages can interact between them.

1 comments

Can you address the question about needing to compile all dependencies….
Sure, after you name an example of a programming language where neither you nor someone else has to compile the dependencies for a given program.