On Thursday, 9 November 2023 at 07:01:23 UTC, Sebastiaan Koppe
wrote:
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.
You really should lead a wasmgc porting effort. I am willing to
contribute too.
WASM is not an easy platform, so adoption rate is slow. But
WASMGC is a much nicer platform to work with and it going to get
better too. It a natural platform for D to shine.
Kotlin is all in on WASMGC, and there is a lot of implementation
detail that can be learned.
https://seb.deleuze.fr/introducing-kotlin-wasm/