The Session Abstract Machine (Extended Version)

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Caires, Luís, Toninho, Bernardo
Formato: Preprint
Publicado: 2024
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866911760801333248
author Caires, Luís
Toninho, Bernardo
author_facet Caires, Luís
Toninho, Bernardo
contents We build on a fine-grained analysis of session-based interaction as provided by the linear logic typing disciplines to introduce the SAM, an abstract machine for mechanically executing session-typed processes. A remarkable feature of the SAM's design is its ability to naturally segregate and coordinate sequential with concurrent session behaviours. In particular, implicitly sequential parts of session programs may be efficiently executed by deterministic sequential application of SAM transitions, amenable to compilation, and without concurrent synchronisation mechanisms. We provide an intuitive discussion of the SAM structure and its underlying design, and state and prove its correctness for executing programs in a session calculus corresponding to full classical linear logic CLL. We also discuss extensions and applications of the SAM to the execution of linear and session-based programming languages.
format Preprint
id arxiv_https___arxiv_org_abs_2401_10409
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle The Session Abstract Machine (Extended Version)
Caires, Luís
Toninho, Bernardo
Programming Languages
We build on a fine-grained analysis of session-based interaction as provided by the linear logic typing disciplines to introduce the SAM, an abstract machine for mechanically executing session-typed processes. A remarkable feature of the SAM's design is its ability to naturally segregate and coordinate sequential with concurrent session behaviours. In particular, implicitly sequential parts of session programs may be efficiently executed by deterministic sequential application of SAM transitions, amenable to compilation, and without concurrent synchronisation mechanisms. We provide an intuitive discussion of the SAM structure and its underlying design, and state and prove its correctness for executing programs in a session calculus corresponding to full classical linear logic CLL. We also discuss extensions and applications of the SAM to the execution of linear and session-based programming languages.
title The Session Abstract Machine (Extended Version)
topic Programming Languages
url https://arxiv.org/abs/2401.10409