Remix.run Logo
johannes1234321 5 days ago

> WebAssembly doesn’t include a system interface, i.e., any way to interact with the outside world

This can be quite an improvement for running add-ons from some arbitrary source.

While, of course, an way to access defined resources is needed.

rafram 4 days ago | parent [-]

Sure, but your add-ons will need access to some of the world, which right now requires giving them access to all of WASI, as far as I know. There’s no permissions model. That’s worse than the JVM.

(It seems like they want to implement one… someday. It’s vague: https://github.com/bytecodealliance/wasmtime/blob/main/docs/...)

flohofwoe 4 days ago | parent [-]

A game which uses WASM plugins for modding would define its own 'system interface', basically an extremely restricted API to only access moddable game features but not allow access to any 'operating system services'.

It's very similar to how games would use a restricted subset of Lua which can only call into scripting APIs provided by the game, but not use random Lua stdlib features (like reading/writing files).