I have a rather tricky time reading the guest language syntax. Is there a good reason you didn't use "normal" dot+parens method call syntax? Can you do more with yours?
it's not that related, I like to create compilers/transpilers/weird languages, see the "Language Projects" section here: https://marianoguerra.github.io/
But there's a relation, two years ago I prototyped a thing that tried to make a headless version of instadeq that could run in the browser and the server, the idea was a dataflow language where the data was represented as apache arrow tables where filters and transformation expressions where compiled to wasm. The prototype kind of worked and I had a lot of fun, I thought about sharing the fun by writing a small book about creating 10 toy languages that compiled to Wasm, I shared the idea with Patrick, he said he was thinking about something similar and the idea evolved into the current book.
In-browser data analysis is a great place to use Wasm. Javascript is great, but larger datasets really benefit from SIMD + tighter memory control/controlled memory layouts.
There's a proposal for effect handlers that allows for continuatios, coroutines and others.
> effect handlers as a unifying mechanism to enable efficient compilation of control idioms, such as async/await, generators/iterators, first-class continuations, etc.
> This book takes a hands-on, bottoms-up approach: you'll go from hand crafting bytecodes to writing a real compiler for a simple programming language.
I worked through the chapters which were out when I bought late last year, and really enjoyed them! Haven't had the time to get deeper into it, but I really appreciated the examples of writing raw WASM binary with byte arrays. It really is from the ground up!