Multiparty Session Typing, Embedded (Technical Report)
Abstract
Multiparty session typing (MPST) is a method to make concurrent programming simpler. The idea is to use type checking to automatically detect safety and liveness violations of implementations relative to specifications. In practice, the premier approach to combine MPST with mainstream languages -- in the absence of native support -- is based on external DSLs and associated tooling. In contrast, we study the question of how to support MPST by using internal DSLs. Answering this question positively, this paper presents the mpst.embedded library: it leverages Scala's lightweight form of dependent typing, called match types, to embed MPST directly into Scala. Our internal-DSL-based approach avoids programming friction and leaky abstractions of the external-DSL-based approach for MPST.
Cite
@article{arxiv.2501.17741,
title = {Multiparty Session Typing, Embedded (Technical Report)},
author = {Sung-Shik Jongmans},
journal= {arXiv preprint arXiv:2501.17741},
year = {2025}
}