Linkedin

TALKS

RSS Meetup: Simon Fowler

RSS Meetups are monthly gatherings of LASIGE members with research interests mainly in Software Architecture, Verification, Testing, Programming Languages, Type Systems, Logic, Concurrency, and Formal Methods.

Title: Behavioural Types for Actor Languages: Lessons Learnt from the STARDUST Project
Speakers: Simon Fowler (University of Glasgow)
When: Monday, 22 June 2026, 10h30
Where: Ciências ULisboa, 6.3.27
Invited by: Vasco T. Vasconcelos

Abstract: Actor languages like Erlang and Elixir are extensively used in building reliable distributed systems but are susceptible to communication errors such as communication mismatches and deadlocks. The STARDUST project, which ran from 2020-2025, set out to understand how to incorporate session types in actor languages, with the goal of allowing the dual benefits of early error detection and robust failure recovery.

In this talk I will discuss the complexities of incorporating behavioural type systems in actor languages, along with the results of two main research directions: mailbox types and multiparty session types. Our first direction investigates mailbox types, which specify the expected contents of an actor mailbox as a commutative regular expression; I will discuss how we designed a mailbox-typed programming language, Pat, and how we are using Pat to bring mailbox types to Erlang. Our second direction investigates multiparty session types, which specify sequences of structured interactions, and how these can be incorporated in actor languages through event-driven programming and an effect type system. Both have advantages and disadvantages: mailbox types have a style much closer to idiomatic actor programming, whereas multiparty session types allow us to smoothly support Erlang’s failure-handling idioms.

Bio: Simon Fowler is a Lecturer in Programming Language Foundations at the University of Glasgow’s School of Computing Science, where he helps lead the Programming Languages Theme. His research focuses on typed functional programming languages, especially functional approaches to concurrency and behavioural and session types. He earned his PhD at the University of Edinburgh under Sam Lindley and Philip Wadler.