ICFP 2023
Mon 4 - Sat 9 September 2023 Seattle, Washington, United States
Tue 5 Sep 2023 15:00 - 15:30 at A - Grand Ballroom 2 - Concurrency and distribution Chair(s): Satnam Singh

The asynchronous and unidirectional communication model supported by mailboxes is a key reason for the
success of actor languages like Erlang and Elixir for implementing reliable and scalable distributed systems. While many actors may send messages to some actor, only the actor may (selectively) receive from its mailbox. Although actors eliminate many of the issues stemming from shared memory concurrency, they remain vulnerable to communication errors such as protocol violations and deadlocks.

Mailbox types are a novel behavioural type system for mailboxes first introduced for a process calculus by de’Liguoro and Padovani in 2018, which capture the contents of a mailbox as a commutative regular expression. Due to aliasing and nested evaluation contexts, moving from a process calculus to a programming language is challenging. This paper presents Pat, the first programming language design incorporating mailbox types, and describes an algorithmic type system. We make essential use of quasi-linear typing to tame some of the complexity introduced by aliasing. Our algorithmic type system is necessarily co-contextual, achieved through a novel use of backwards bidirectional typing, and we prove it sound and complete with respect to our declarative type system. We implement a prototype type checker, and use it to demonstrate the expressiveness of Pat on a factory automation case study and a series of examples from the Savina actor benchmark suite.

Tue 5 Sep

Displayed time zone: Pacific Time (US & Canada) change

15:00 - 16:00
Concurrency and distributionICFP Papers and Events at A - Grand Ballroom 2
Chair(s): Satnam Singh Groq
15:00
30m
Talk
Special Delivery: Programming with Mailbox Types
ICFP Papers and Events
Simon Fowler University of Glasgow, Duncan Paul Attard University of Glasgow, Franciszek Sowul University of Glasgow, Simon J. Gay University of Glasgow, UK, Phil Trinder University of Glasgow
DOI Pre-print
15:30
30m
Talk
HasChor: Functional Choreographic Programming for All (Functional Pearl)Functional PearlDistinguished Paper
ICFP Papers and Events
Gan Shen University of California, Santa Cruz, USA, Shun Kashiwa University of California, Santa Cruz, Lindsey Kuper University of California, Santa Cruz
DOI Pre-print