2022
DOI: 10.1145/3498684
|View full text |Cite
|
Sign up to set email alerts
|

Pirouette: higher-order typed functional choreographies

Abstract: We present Pirouette, a language for typed higher-order functional choreographic programming. Pirouette offers programmers the ability to write a centralized functional program and compile it via endpoint projection into programs for each node in a distributed system. Moreover, Pirouette is defined generically over a (local) language of messages, and lifts guarantees about the message type system to its own. Message type soundness also guarantees deadlock freedom. All of our results are verified in Coq.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
14
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 15 publications
(17 citation statements)
references
References 23 publications
0
14
0
Order By: Relevance
“…Indeed, previous works on choreographic programming (e.g. Hirsch and Garg, 2022;Cruz-Filipe and Montesi, 2020;Carbone and Montesi, 2013) provided a semantics with out-of-order execution, so that the operational semantics of the choreographies matched with all possible reductions in the concurrent interpretation. We use these simpler semantics, without out-of-order execution, instead.…”
Section: Operational Semanticsmentioning
confidence: 99%
See 3 more Smart Citations
“…Indeed, previous works on choreographic programming (e.g. Hirsch and Garg, 2022;Cruz-Filipe and Montesi, 2020;Carbone and Montesi, 2013) provided a semantics with out-of-order execution, so that the operational semantics of the choreographies matched with all possible reductions in the concurrent interpretation. We use these simpler semantics, without out-of-order execution, instead.…”
Section: Operational Semanticsmentioning
confidence: 99%
“…Alternatively, programmers can use a global point of view (see e.g., Dalla Preda et al, 2017;Giallorenzo et al, 2021;Carbone and Montesi, 2013;Hirsch and Garg, 2022;Richter et al, 2022;Jongmans and van den Bos, 2022;López et al, 2016). A programmer using the global point of view writes one program, which is then compiled to a program for each process.…”
Section: Introductionmentioning
confidence: 99%
See 2 more Smart Citations
“…Programming correct implementations of protocols for communicating systems is challenging, because it requires writing a correct program for each participant that performs the right send and receive actions at the right times [21]. Choreographic programming [24] is an emerging paradigm that offers a direct solution: protocols are written in a "choreographic" programming language, and then automatically compiled to correct implementations by means of an operation known as Endpoint Projection (EPP or projection for short) [4,12,14,15,18,22,23].…”
Section: Introductionmentioning
confidence: 99%