An Exceptional Actor System (Functional Pearl)
summary
Builds an actor framework by reusing GHC runtime features: throwTo and forkIO for sending and spawning, instance Exception for messages to make arbitrary ADTs travel as exceptions, masked regions and catch handlers to implement an inbox as a list, and a simple loop that appends incoming exceptions. Demonstrates a ring leader election on five nodes. Duplicate deliveries occur but are avoidable by forking consume/send; performance is slower than channels usually but can beat channels under heavy thread overload. Artifacts and code accompany the paper.
AI-written summary · about
chapters (7)
- 0:00Introduction to actors
- 1:23Exception handling in Haskell
- 5:38Distributed systems and actors
- 7:42Implementing the actor model
- 13:58Ring leader election demo
- 18:13Review and future work
- 21:56Q&A session
related talks
31mActor, Thread and me
18mDistributed Actors in OCaml
37mBeyond Fault Tolerance
54mScala concurrency patterns with Actors
48mActor, an Elegant Model for Concurrent and Distributed Computation
48mReliable messaging in the world of actors
41mDIY Actors using Project Loom
44m10 Lessons From Implementing The Actor Model
