Special Delivery: Programming with Mailbox Types
Special Delivery: Programming with Mailbox Types
复制标题
特快专递:使用邮箱类型进行编程
DOI:
10.1145/3607832
复制
发表时间:
2023
影响因子:
--
通讯作者:
Fowler S
中科院分区:
文献类型:
--
作者:
Fowler S
The asynchronous and unidirectional communication model supported by mailboxes is a key reason for the success of actor languages like Erlang and Elixir for implementing reliable and scalable distributed systems. While many actors may send messages to some actor, only the actor may (selectively) receive from its mailbox. Although actors eliminate many of the issues stemming from shared memory concurrency, they remain vulnerable to communication errors such as protocol violations and deadlocks.Mailbox types are a novel behavioural type system for mailboxes first introduced for a process calculus by de’Liguoro and Padovani in 2018, which capture the contents of a mailbox as a commutative regular expression. Due to aliasing and nested evaluation contexts, moving from a process calculus to a programming language is challenging. This paper presents Pat, the first programming language design incorporating mailbox types, and describes an algorithmic type system. We make essential use of quasi-linear typing to tame some of the complexity introduced by aliasing. Our algorithmic type system is necessarily co-contextual, achieved through a novel use of backwards bidirectional typing, and we prove it sound and complete with respect to our declarative type system. We implement a prototype type checker, and use it to demonstrate the expressiveness of Pat on a factory automation case study and a series of examples from the Savina actor benchmark suite.
登录
查看更多内容
DOI:
10.1145/2814270.2814277
发表时间:
2015
期刊:
Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
影响因子:
--
作者:
Sebastian Erdweg;Oliver Bračevac;Edlira Kuci;Matthias Krebs;M. Mezini
通讯作者:
M. Mezini
DOI:
10.1145/3107937
发表时间:
2017
期刊:
ACM Transactions on Programming Languages and Systems (TOPLAS)
影响因子:
--
作者:
P. Trinder;Natalia Chechina;N. Papaspyrou;Konstantinos Sagonas;S. Thompson;Stephen Adams;Stavros Aronis;Robert Baker;Eva Bihari;Olivier Boudeville;Francesco Cesarini;M. D. Stefano;Sverker Eriksson;Viktória Fördős;A. Ghaffari;Aggelos Giantsios;Rickard Green;Csaba Hoch;David Klaftenegger;Huiqing Li;Kenneth Lundin;K. Mackenzie;Katerina Roukounaki;Yiannis Tsiouris;Kjell Winblad
通讯作者:
Kjell Winblad
影响因子:
1
作者:
V. Vasconcelos
通讯作者:
V. Vasconcelos
影响因子:
--
作者:
S. Fowler
通讯作者:
S. Fowler
影响因子:
0.4
作者:
Ancona, Davide;Bono, Viviana;Yoshida, Nobuko
通讯作者:
Yoshida, Nobuko