Pith. sign in

REVIEW 1 cited by

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

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 1910.11108 v3 pith:SCGHBBM5 submitted 2019-10-24 cs.PL

classification cs.PL
keywords sessiontypesarchitectureemphfirstprogrammingtypingformal
verification ladder T0 review T1 audit T2 compute T3 formal
0 comments
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 $\lambda_{\textsf{MVU}}$, the first formal model of the MVU architecture, and prove it sound. By extending $\lambda_{\textsf{MVU}}$ with \emph{commands} as found in Elm, along with \emph{linearity} and \emph{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.

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. A Type-and-Effect System for Temporal Dependency Analysis of Render-based Reactive Programs

    cs.PL 2026-07 conditional novelty 7.0 of 10

    Willow tracks render and event timing as graded effects, proves preservation, and uses the resulting temporal dependency graphs to statically detect cascades, loops, and stale listeners in React-like programs.

Pith tools