WebAssembly Interface Types: Interoperate with All the Things
I'm very happy to see the WebIDL proposal replaced with something generalized.<p>The article brings up an interesting point:<p>Webassembly really could enable seamless cross-language integration in the future.<p>Writing a project in Rust, but really want to use that popular face detector written in Python?<p>And maybe the niche language tokenizer written in PHP?<p>And sprinkle ffmpeg on top, without the hassle of target-compatible compilation and worrying about use after free vulnerabilities?<p>No problem use one of the many WASM runtimes popping up (like [1], [2]) and  combine all those libraries by using their pre-compiled WASM packages distributed on a package repo like WAPM [2], with auto-generated bindings that provide a decent API from your host language.<p>Sounds too good to be true? 
Probably, and there are plenty of issues to solve.<p>But it sounds like a future where we could prevent a lot of the re-writes and duplication across the open source world by just tapping into the ecosystems of other languages.<p>[1] <a href="https://wapm.io/" rel="nofollow">https://wapm.io/</a>
[2] <a href="https://github.com/CraneStation/wasmtime" rel="nofollow">https://github.com/CraneStation/wasmtime</a>
[2] <a href="https://wapm.io/" rel="nofollow">https://wapm.io/</a>