Slides from a talk that discusses over 20 different design decisions & implementation details for the Actor Model of programming. Then compares & contrasts Erlang’s & Pony’s implementations of the Actor Model. The talk given at Code BEAM (formerly called Erlang Factory) on March 16, 2018; audio+video recording is at https://www.youtube.com/watch?v=uv-3ptTD8hg&feature=youtu.be
Interesting stuff! I’d love to hear more about how Pony’s correctness affects the need for supervision trees. Is there no supervision hierarchy at all in a normal Pony app?
(Caveat: I’m still not immersed in all of Pony & its best practices)
No, not really. Actors don’t crash, so the fault-tolerance reasons for supervisor trees do not apply. However, another use for supervisors is to coordinate application startup (of course) but also application shutdown, both in a deterministic manner. In those cases, the nearest related-a-little-bit feature in the
DisposableActorinterface in the standard library https://stdlib.ponylang.org/builtin-DisposableActor/ … but it does not provide any you-shutdown-before-that-other-actor coordination that a supervisor tree can.