Thu 20 Jul 2023 11:00 - 11:15 at Habib Classroom (Gates G01) - ECOOP 4: Types Chair(s): Giorgio Audrito

Choreographic programming is a paradigm for concurrent and distributed software, whereby descriptions of the intended communications (choreographies) are automatically compiled into distributed code with strong safety and liveness properties (e.g., deadlock-freedom).

Recent efforts tried to combine the theories of choreographic programming and higher-order functional programming, in order to integrate the benefits of the former with the modularity of the latter. However, they do not offer a satisfactory theory of compilation compared to the literature, because of important syntactic and semantic shortcomings: compilation is not modular (editing a part might require recompiling everything) and the generated code can perform unexpected global synchronisations.

In this paper, we find that these shortcomings are not mere coincidences. Rather, they stem from genuine new challenges posed by the integration of choreographies and functions: knowing which participants are involved in a choreography becomes nontrivial, and divergence in applications requires rethinking how to prove the semantic correctness of compilation.

We present a novel theory of compilation for functional choreographies that overcomes these challenges, based on types and a careful design of the semantics of choreographies and distributed code. The result: a modular notion of compilation, which produces code that is deadlock-free and correct (it operationally corresponds to its source choreography).

Thu 20 Jul

Displayed time zone: Pacific Time (US & Canada) change

10:30 - 12:00
ECOOP 4: TypesResearch Papers at Habib Classroom (Gates G01)
Chair(s): Giorgio Audrito Università di Torino
10:30
15m
Talk
Python Type Hints are Turing Complete
Research Papers
Ori Roth Technion
DOI
10:45
15m
Talk
Restrictable Variants: A Simple and Practical Alternative to Extensible Variants
Research Papers
Magnus Madsen Aarhus University, Jonathan Lindegaard Starup Aarhus University, Matthew Lutze Aarhus University
DOI
11:00
15m
Talk
Modular Compilation for Higher-order Functional Choreographies
Research Papers
Luís Cruz-Filipe University of Southern Denmark, Eva Graversen University of Southern Denmark, Lovro Lugović University of Southern Denmark, Fabrizio Montesi University of Southern Denmark, Marco Peressotti University of Southern Denmark
DOI
11:15
15m
Talk
Programming with Purity Reflection: Peaceful Coexistence of Effects, Laziness, and Parallelism
Research Papers
Magnus Madsen Aarhus University, Jaco van de Pol Aarhus University
DOI
11:30
15m
Talk
Dependent Merges and First-Class Environments
Research Papers
Jinhao Tan University of Hong Kong, Bruno C. d. S. Oliveira University of Hong Kong
DOI
11:45
15m
Talk
super-Charging Object-Oriented Programming Through Precise Typing of Open Recursion
Research Papers
Andong Fan The Hong Kong University of Science and Technology, Lionel Parreaux HKUST (The Hong Kong University of Science and Technology)
DOI