Model-View-Update-Communicate: Session Types meet the Elm Architecture
Mon 16 Nov 2020 03:00 - 03:20 at SPLASH-I - S-5 Chair(s): Davide Ancona, Jeremy Gibbons
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 λMVU, the first formal model of the MVU architecture, and prove it sound. By extending λMVU with commands as found in Elm, along with linearity and model transitions, we show the first formal integration of session typing and GUI programming. We implement our approach in the Links web programming language, and show examples including a two-factor authentication workflow and multi-room chat server.
I’m currently a Research Associate on the STARDUST project at the University of Glasgow School of Computing Science.
My research interests centre around typed functional programming languages, in particular functional approaches to concurrency, web programming, and data management.
Sun 15 NovDisplayed time zone: Central Time (US & Canada) change
15:00 - 16:20 | S-5Research Papers at SPLASH-I +12h Chair(s): Davide Ancona DIBRIS, University of Genova, Italy, Eli Tilevich Virginia Tech | ||
15:00 20mTalk | Model-View-Update-Communicate: Session Types meet the Elm Architecture Research Papers Simon Fowler University of Glasgow Link to publication DOI Pre-print Media Attached | ||
15:20 20mTalk | Putting Randomized Compiler Testing into Production Research Papers Link to publication DOI Media Attached | ||
15:40 20mTalk | Owicki-Gries Reasoning for C11 RAR Research Papers Sadegh Dalvandi University of Surrey, Simon Doherty University of Sheffield, Brijesh Dongol University of Surrey, Heike Wehrheim Paderborn University Link to publication DOI Media Attached | ||
16:00 20mTalk | Test-Case Reduction via Test-Case Generation: Insights From the Hypothesis Reducer Research Papers Link to publication DOI Media Attached |
Mon 16 NovDisplayed time zone: Central Time (US & Canada) change
03:00 - 04:20 | S-5Research Papers at SPLASH-I Chair(s): Davide Ancona DIBRIS, University of Genova, Italy, Jeremy Gibbons Department of Computer Science, University of Oxford | ||
03:00 20mTalk | Model-View-Update-Communicate: Session Types meet the Elm Architecture Research Papers Simon Fowler University of Glasgow Link to publication DOI Pre-print Media Attached | ||
03:20 20mTalk | Putting Randomized Compiler Testing into Production Research Papers Link to publication DOI Media Attached | ||
03:40 20mTalk | Owicki-Gries Reasoning for C11 RAR Research Papers Sadegh Dalvandi University of Surrey, Simon Doherty University of Sheffield, Brijesh Dongol University of Surrey, Heike Wehrheim Paderborn University Link to publication DOI Media Attached | ||
04:00 20mTalk | Test-Case Reduction via Test-Case Generation: Insights From the Hypothesis Reducer Research Papers Link to publication DOI Media Attached |