Capable: A Mechanised Imperative Language with Native Multiparty Session Types

De Muijnck-Hughes, J. , Urlea, C. , Voinea, L. and Vanderbauwhede, W. (2023) Capable: A Mechanised Imperative Language with Native Multiparty Session Types. In: ACM SIGPLAN Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH 2023) - 30 Years of Session Types Workshop, Cascais, Portugal, 22-23 Oct 2023, (Accepted for Publication)

[img] Text
305386.pdf - Accepted Version
Restricted to Repository staff only

137kB

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.

Item Type:Conference Proceedings
Status:Accepted for Publication
Refereed:Yes
Glasgow Author(s) Enlighten ID:Urlea, Mr Cristian and Vanderbauwhede, Professor Wim and De Muijnck-Hughes, Dr Jan and Voinea, Miss Laura
Authors: De Muijnck-Hughes, J., Urlea, C., Voinea, L., and Vanderbauwhede, W.
College/School:College of Science and Engineering > School of Computing Science
Related URLs:

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
309899AppControl/C2AB: Capability-based Control of Application BehaviourWim VanderbauwhedeEngineering and Physical Sciences Research Council (EPSRC)EP/V000462/1Computing Science