News for hackers. Stuff that matters.
Re:Standardizing WASI: A system interface to run WebAssembly... by writepub on Wednesday March 27, 2019 @12:40PM (#19502753)
I would love for WASI/WasmTime to emphasize on:

1. Backwards compatibility with existing libc. (Maybe pick musl)

2. Platform agnostic wasm generation: the same wasm file should run in the browser (with emscripten polyfills) and across ALL OS-es, mobile included. List: iOS, Android, Mac, Linux, Windows, FreeBSD

#1 shall enable decades of legacy programs to work with minimal porting, while #2 shall enable true cross platform capabilities without multiple codebases. Specifically, don't repeat what node did: digress from browser js semantics, instead of polyfilling them

Re:Standardizing WASI: A system interface to run WebAssembly... by tschneidereit on Wednesday March 27, 2019 @01:21PM (#19503260)
Good news: we fully agree with these goals!

On 1, the libc we're working on[1] is based on musl. It won't ever be 100% compatible with all code, because that runs into constraints imposed by our security goals, but the vast majority of code should eventually just compile when targeting this. (Eventually, because this is all early days.)

On 2, yes, that is explicitly the goals. I'd add that it's not just about OSes, but also about platforms and hardware form factors.

[1] https://github.com/CraneStation/wasi-sysroot

Re:Standardizing WASI: A system interface to run WebAssembly... by jcranmer on Wednesday March 27, 2019 @12:54PM (#19502942)
> 1. Backwards compatibility with existing libc. (Maybe pick musl)

Honestly, that ought to be a non-goal. We already know that POSIX often enforces models that we don't want--filesystem permissions and the fork model are two good examples of things that are broken. So why start with "implement POSIX"?

Re:Standardizing WASI: A system interface to run WebAssembly... by writepub on Wednesday March 27, 2019 @01:16PM (#19503176)
The backwards compatibility isn't a testament for POSIX's merit. Sure, please introduce better, safer paradigms whenever you set standards, but enabling legacy software to run immediately is a great value proposition.

Also, goading legacy maintainers to adopt the newer, safer paradigms is likely more effective if you show them the traction the new platform is gaining

Re:Standardizing WASI: A system interface to run WebAssembly... by wahern on Wednesday March 27, 2019 @09:15PM (#19508160)
POSIX doesn't mandate fork, that's why it invented posix_spawn.
Re:Standardizing WASI: A system interface to run WebAssembly... by Crinus on Wednesday March 27, 2019 @01:20PM (#19503235)
POSIX != C and from what i understand from the official docs, they already have a (musl derived, even) C library.
Re:Standardizing WASI: A system interface to run WebAssembly... by AnIdiotOnTheNet on Wednesday March 27, 2019 @02:42PM (#19504447)
The C stdlib is so married to POSIX they may as well be the same thing.
Re:Standardizing WASI: A system interface to run WebAssembly... by pjmlp on Wednesday March 27, 2019 @05:53PM (#19506482)
Actually no, go read ISO C and compare it with POSIX expectations.
Re:Standardizing WASI: A system interface to run WebAssembly... by saagarjha on Wednesday March 27, 2019 @07:39PM (#19507429)
…on UNIX systems. C is still a thing for other platforms e.g. embedded where POSIX is not a thing.