2023-06-16: Jan de Muijnck-Hughes (MSP)

Tue, 14 Oct 2025 16:51:42 +0000

Jan de Muijnck-Hughes (MSP)

Session Types & Imperative Languages & Observations, Oh My!

Abstract

Session Types are a neat typing discipline to reason both statically and dynamically about program behaviour. An interesting question is how best we can incorporate session types into our programming languages and reach the fabled Emerald City of Type-Driven Validation of Communicating Systems!

Earlier this year, I gave a talk at PLUG that discussed the dependently-typed mechanics that pushed me along the yellow brick road to create Capable, a featherweight imperative language that supports Multi-Party Session-Types (MPSTs). Capable has been mechanised within Idris2 to ensure that including MPSTs is done honestly as the Good Witch Glinda would appreciate.

In this talk I intend to step away from the keyboard and take a detour along a yellow-ish cobbled street to look at some of the theoretical observations that arise from mechanisation. Specifically, I will discuss the design decisions that the Wicked Dependent-Type Checker of the East has requested I do to ensure unification and execution, but more importantly the trade-offs that come with those decisions.

This work is, slowly, getting ready for publication (we do in fact run our session-typed programs) and I am certain that I don't need to return that brain, yet....

2023-06-16 15:00:00 UTC
LT310 and Online