On Thursday, 9 November 2023 at 04:02:48 UTC, Lingo Chen wrote:
Yes, the wasmgc's main selling point is the sharing of GC and
TypeInfo between Javascript and WASM.
Not just javascript, but any WASM runtime.
Sharing of data between the JS/WASM are problematic. JS has no
destructor, so it practically impossible to do manual
memory/resource management in JS side; One has to do a lot of
works to pass data around.
With spasm I was auto-generating all glue code based off of
WebIDL files. The post build step was annoying but it worked
pretty well.
I even had a prototype that would do it for any typescript
library.
Of course using WASM ref types is way more ergonomic.
One thing to note about WASMGC, it is MVP and missing a lot of
things like support for interior pointers etc. There are
workarounds but it's not so simple.