Capable: a mechanised imperative language with native multiparty session types

Jan de Muijnck-Hughes, Cristian Urlea, Laura Voinea, Wim Vanderbauwhede

Research output: Contribution to conferencePaperpeer-review

51 Downloads (Pure)

Abstract

CAPABLE is lightweight mechanised imperative language that provides native support for Multiparty Session Types (MPSTs). Through mechanisation, we can explore and catalogue the changes required to extend similar languages with native support for MPSTs, as well as the interplay between the existing type-system and other novel extensions. Principally, our demo shows CAPABLE in action and what a language with native MPSTs can look like. We also look beneath the surface syntax and offer insight over how we created intrinsically typed sessions (and session types) within a dependently typed language. We show a compact well-scoped encoding of session types, mechanised proofs of soundness and completeness for projection, and how dependent types help with bidirectional type checking of typed sessions.
Original languageEnglish
Number of pages7
Publication statusPublished - 27 Oct 2023
EventACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity - Lisbon, Portugal
Duration: 22 Oct 202327 Oct 2023
https://2023.splashcon.org/

Conference

ConferenceACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity
Abbreviated titleSPLASH 2023
Country/TerritoryPortugal
CityLisbon
Period22/10/2327/10/23
Internet address

Keywords

  • mechanised imperative language
  • Multiparty Session Types
  • mechanisation

Fingerprint

Dive into the research topics of 'Capable: a mechanised imperative language with native multiparty session types'. Together they form a unique fingerprint.

Cite this