4 ms·
> I hope they add some POSIXy stuff to it Are you aware of WASI? WASI preview 1 provides a portable POSIXy interfance, while WASI preview 2 is a more complex p
by andyferris 11mo ago
> I hope they add some POSIXy stuff to it
Are you aware of WASI? WASI preview 1 provides a portable POSIXy interfance, while WASI preview 2 is a more complex platform abstraction beast.
(Keeping the platform separate from the assembly is normal and good - but having a common denominator platform like POSIX is also useful).
- syrusakbary 11mo agoI'd go a bit further. If you want full POSIX support, perhaps WASIX is the best alternative. It's WASI preview 1 + many missing features, such as: threads, fork, exec, dlopen, dlsym, longjmp, setjmp, ... https://wasix.org/ https://wasix.org/
- samarthr1 11mo agoMy understanding of the wasm execution model was that it was fundamentally single threaded?
- syrusakbary 11mo agoI don't think that's accurate, although it's true that needs extra work to work properly in JS based environments. You can already create threads in Wasm environments (we got even fork working in WASIX!). However, there is an upcoming Wasm proposal that adds threads support natively to the spec: https://github.com/WebAssembly/shared-everything-threads https://github.com/WebAssembly/shared-everything-threads
- pmarreck 11mo agowhat are the options regarding working with wasix? (compiling to it, running it?) is this something that is expected to "one day" be part of WASM proper in some form?
- syrusakbary 11mo agoRight now you should be good to go to start using WASIX. If you want to compile threaded code, things should already work (without waiting for any proposal in the Wasm space). If you want to run it, there are few options: use wasmer-js for the browser (Wasmer using the Browser Wasm engine + WASIX) or using normal Wasmer to run it server-side. No need to wait for the Wasm "proper" implementation. Things should already be runnable with no major issues.