An Exceptional Actor System (Functional Pearl)
Patrick Redmond, Lindsey Kuper

TL;DR
This paper reveals an actor framework within the Glasgow Haskell Compiler's runtime system, demonstrating its application to distributed systems and exploring how RTS features interact and can be optimized.
Contribution
It uncovers a hidden actor framework in GHC's RTS, extends it to dynamic types, and discusses how RTS features can be managed for better programming practices.
Findings
The actor framework is accessible within GHC's RTS.
Extension of the framework to dynamic types is feasible.
RTS features can be constrained to improve programming practices.
Abstract
The Glasgow Haskell Compiler is known for its feature-laden runtime system (RTS), which includes lightweight threads, asynchronous exceptions, and a slew of other features. Their combination is powerful enough that a programmer may complete the same task in many different ways -- some more advisable than others. We present a user-accessible actor framework hidden in plain sight within the RTS and demonstrate it on a classic example from the distributed systems literature. We then extend both the framework and example to the realm of dynamic types. Finally, we raise questions about how RTS features intersect and possibly subsume one another, and suggest that GHC can guide good practice by constraining the use of some features.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
