3 ms·
The choice to go to WebAssembly is an interesting one. WASM3, especially (released just 2 months ago), is really gunning for a more general-purpose "assembly f
by pmarreck 11mo ago
The choice to go to WebAssembly is an interesting one.
WASM3, especially (released just 2 months ago), is really gunning for a more general-purpose "assembly for everywhere" status (not just "compile to web"), and it looks like it's accomplishing that.
I hope they add some POSIXy stuff to it so I can write cross-platform commandline TUI's that do useful things without needing to be recompiled on different OS/chip combos (at the cost of a 10-20% reduction from native compilation- not a critical loss for all but the most important use-cases) and are likely to simply keep working on all future OS/chip combos (assuming you can run the wasm, of course)
- 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.