dckc / madmode-blog

my tinkering notebook (blog)
https://www.madmode.com
0 stars 2 forks source link

swingset kernel in pony #127

Open dckc opened 3 years ago

dckc commented 3 years ago

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

dckc commented 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.

dckc commented 3 years ago

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