Open dckc opened 3 years ago
Ah... the actual genesis of this idea was thinking that the outer shell of xsnap could be in pony. FFI from pony to C is "~zero overhead".
If we're going to manage more than one XS engine ( https://github.com/Agoric/agoric-sdk/issues/1845 ), and in particular, more than one thread, in xsnap, I'd sure rather do it in pony than in C.
Do we expect to have multiple threads, though? Swingset does just one delivery at a time, I think.
Another one of the thoughts swimming around in my head when I started thinking about this:
IOU a coherent argument about the correctness of "the maze" of async stuff around handleCommand
in xsnap.
cc @kriskowal
crazy idea1: swingset kernel in Pony
the idea popped in my head while these others were swimming around in there: un-ease around C (memory-unsafety) and XS / xsnap ... rust compile times are ~unbearable ... swingset GC ... security review of swingset...
pony has a high-performance GC that seems like a good fit along with a pretty good type system and safety properties and yet compile times are more go-like than rust-like.
Is pony too far off the beaten path, though?
a little surfing: pony-lang bookmarks
TODO: add link to warner's rust mock-up
1 hence not filed in agoric-sdk
cc @warner @erights @michaelfig