Model-View-Update-Communicate: Session Types meet the Elm Architecture
Simon Fowler

TL;DR
This paper introduces a formal model combining session types with the Elm architecture for GUI development, enabling safe communication protocols in graphical applications, demonstrated through web examples.
Contribution
It presents the first formal integration of session types with GUI programming using the MVU architecture, extending the model with commands, linearity, and model transitions.
Findings
Formal model of MVU architecture proved sound
Implementation in Links language with practical examples
First integration of session types with GUI development
Abstract
Session types are a type discipline for communication channel endpoints which allow conformance to protocols to be checked statically. Safely implementing session types requires linearity, usually in the form of a linear type system. Unfortunately, linear typing is difficult to integrate with graphical user interfaces (GUIs), and to date most programs using session types are command line applications. In this paper, we propose the first principled integration of session typing and GUI development by building upon the Model-View-Update (MVU) architecture, pioneered by the Elm programming language. We introduce , the first formal model of the MVU architecture, and prove it sound. By extending with \emph{commands} as found in Elm, along with \emph{linearity} and \emph{model transitions}, we show the first formal integration of session…
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.
