3 ms·
A few points there: * classical shared memory (mapped into the main address space) is very hard to do in the context of Webassembly, especially in a performant
by the_duke 3y ago
A few points there:
* classical shared memory (mapped into the main address space) is very hard to do in the context of Webassembly, especially in a performant way. Not impossible, but complicated. It would be valuable to add, but there are different approaches as well (like sharing additional Webassembly-level memories between instances, for example)
* WASI already has a concept similar to select
* unix sockets would be a pretty straight-forward addition
> Why include error-prone cruft?
A big goal here is to make existing software compile to Webassembly, with only a relatively small amount of changes.
For writing new software the direction of WASI (going towards the fine-grained capability model) is a very valid approach. But that won't get you compatibility with pretty much all software in existence.
And there is space to explore both directions.