If you wanted to see my RacketCon talk on #Spritely Goblins but missed it, I'll put it up someplace more permanent but at the moment you can watch it at https://dustycloud.org/tmp/racketcon-goblins-take2.webm
The bit on OCaps beginning at 2:14 is the best confirmation I've had yet that my understanding is accurate, so I'd say that you really shine in that condensed form of presentation
Do you foresee a situation where someone would need local event loops independent of a global loop?
You described vats (screenshot) as "basically event loops," which is much different than "independently instantiated event loops," but if you're aware of a situation that calls for the latter, I have an upstream developer who wants to be advised of any use case where it's not safe to instantiate an event library before main
@yaaps vats are event loops, and they are individually instantiated in general rather than global.
A vat "can" be global technically, in that the Agoric folks have figured out how to represent blockchains as vats... but we're not really doing that in Spritely Goblins at this time
The situation for my upstream to watch would be the instantiation of 2 or more vats without the async library being initialized at start up for a primary event loop, e.g. for the network IO
Zig wants to provide a consistent API across implementations in its standard networking library, which would mean a main event loop at the "machine" level whenever anything asynchronous gets implemented on top of that. So if there's a case where someone would want vats without asynchronous IO, the devs would like to know before 1.0
I'm still working with C and Lua at the moment, but replacing the C with Zig would make my life easier
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!