Minimal Session Types (Extended Version)
Alen Arslanagi\'c, Jorge A. P\'erez, and Erik Voogd

TL;DR
This paper introduces minimal session types, a simplified form of session types without sequencing, and proves that they are expressive enough to represent processes with traditional session types, simplifying the design of message-passing systems.
Contribution
It demonstrates that sequencing in session types is redundant by showing how processes with standard session types can be compiled into processes with minimal session types, relying solely on process sequencing.
Findings
Every process with standard session types can be compiled into a process with minimal session types.
Minimal session types are sufficient to encode the behavior of processes with sequencing.
The approach simplifies session type systems by removing the need for sequencing in types.
Abstract
Session types are a type-based approach to the verification of message-passing programs. They have been much studied as type systems for the pi-calculus and for languages such as Java. A session type specifies what and when should be exchanged through a channel. Central to session-typed languages are constructs in types and processes that specify sequencing in protocols. Here we study minimal session types, session types without sequencing. This is arguably the simplest form of session types. By relying on a core process calculus with sessions and higher-order concurrency (abstraction passing), we prove that every process typable with usual (non minimal) session types can be compiled down into a process typed with minimal session types. This means that having sequencing constructs in both processes and session types is redundant; only sequentiality in processes is indispensable, as it…
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.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
