Pirouette: higher-order typed functional choreographies

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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Proceedings of ACM on programming languages 2022-01, Vol.6 (POPL), p.1-27
Hauptverfasser: Hirsch, Andrew K., Garg, Deepak
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 27
container_issue POPL
container_start_page 1
container_title Proceedings of ACM on programming languages
container_volume 6
creator Hirsch, Andrew K.
Garg, Deepak
description 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.
doi_str_mv 10.1145/3498684
format Article
fullrecord <record><control><sourceid>crossref</sourceid><recordid>TN_cdi_crossref_primary_10_1145_3498684</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>10_1145_3498684</sourcerecordid><originalsourceid>FETCH-LOGICAL-c258t-fd0b7d486e7b6b219e1aefd21ad662642619370a436834f409eec7b17292e6013</originalsourceid><addsrcrecordid>eNpNj71OwzAURi0EElWpeIVsTAFf-8Y_bKgCilQJhnaOHPu6CSp1ZKdD3x4QHZjONx19h7Fb4PcA2DxItEYZvGAzgbqpAQVc_tvXbFHKJ-ccrEQj7YzpjyGnI00TPVb9sOsp1ykHytV0GilU8Xjw05AObl_5PmVKu-zGfqByw66i2xdanDln25fnzXJVr99f35ZP69qLxkx1DLzTAY0i3alOgCVwFIMAF5QSCoX6eaK5Q6mMxIjcEnndgRZWkOIg5-zuz-tzKiVTbMc8fLl8aoG3v8ntOVl-A_49R3U</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Pirouette: higher-order typed functional choreographies</title><source>Elektronische Zeitschriftenbibliothek - Frei zugängliche E-Journals</source><source>ACM Digital Library Complete</source><creator>Hirsch, Andrew K. ; Garg, Deepak</creator><creatorcontrib>Hirsch, Andrew K. ; Garg, Deepak</creatorcontrib><description>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.</description><identifier>ISSN: 2475-1421</identifier><identifier>EISSN: 2475-1421</identifier><identifier>DOI: 10.1145/3498684</identifier><language>eng</language><ispartof>Proceedings of ACM on programming languages, 2022-01, Vol.6 (POPL), p.1-27</ispartof><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c258t-fd0b7d486e7b6b219e1aefd21ad662642619370a436834f409eec7b17292e6013</citedby><cites>FETCH-LOGICAL-c258t-fd0b7d486e7b6b219e1aefd21ad662642619370a436834f409eec7b17292e6013</cites><orcidid>0000-0003-2518-614X ; 0000-0002-0888-3093</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27923,27924</link.rule.ids></links><search><creatorcontrib>Hirsch, Andrew K.</creatorcontrib><creatorcontrib>Garg, Deepak</creatorcontrib><title>Pirouette: higher-order typed functional choreographies</title><title>Proceedings of ACM on programming languages</title><description>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.</description><issn>2475-1421</issn><issn>2475-1421</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2022</creationdate><recordtype>article</recordtype><recordid>eNpNj71OwzAURi0EElWpeIVsTAFf-8Y_bKgCilQJhnaOHPu6CSp1ZKdD3x4QHZjONx19h7Fb4PcA2DxItEYZvGAzgbqpAQVc_tvXbFHKJ-ccrEQj7YzpjyGnI00TPVb9sOsp1ykHytV0GilU8Xjw05AObl_5PmVKu-zGfqByw66i2xdanDln25fnzXJVr99f35ZP69qLxkx1DLzTAY0i3alOgCVwFIMAF5QSCoX6eaK5Q6mMxIjcEnndgRZWkOIg5-zuz-tzKiVTbMc8fLl8aoG3v8ntOVl-A_49R3U</recordid><startdate>20220101</startdate><enddate>20220101</enddate><creator>Hirsch, Andrew K.</creator><creator>Garg, Deepak</creator><scope>AAYXX</scope><scope>CITATION</scope><orcidid>https://orcid.org/0000-0003-2518-614X</orcidid><orcidid>https://orcid.org/0000-0002-0888-3093</orcidid></search><sort><creationdate>20220101</creationdate><title>Pirouette: higher-order typed functional choreographies</title><author>Hirsch, Andrew K. ; Garg, Deepak</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c258t-fd0b7d486e7b6b219e1aefd21ad662642619370a436834f409eec7b17292e6013</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2022</creationdate><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Hirsch, Andrew K.</creatorcontrib><creatorcontrib>Garg, Deepak</creatorcontrib><collection>CrossRef</collection><jtitle>Proceedings of ACM on programming languages</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Hirsch, Andrew K.</au><au>Garg, Deepak</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Pirouette: higher-order typed functional choreographies</atitle><jtitle>Proceedings of ACM on programming languages</jtitle><date>2022-01-01</date><risdate>2022</risdate><volume>6</volume><issue>POPL</issue><spage>1</spage><epage>27</epage><pages>1-27</pages><issn>2475-1421</issn><eissn>2475-1421</eissn><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.</abstract><doi>10.1145/3498684</doi><tpages>27</tpages><orcidid>https://orcid.org/0000-0003-2518-614X</orcidid><orcidid>https://orcid.org/0000-0002-0888-3093</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 2475-1421
ispartof Proceedings of ACM on programming languages, 2022-01, Vol.6 (POPL), p.1-27
issn 2475-1421
2475-1421
language eng
recordid cdi_crossref_primary_10_1145_3498684
source Elektronische Zeitschriftenbibliothek - Frei zugängliche E-Journals; ACM Digital Library Complete
title Pirouette: higher-order typed functional choreographies
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-11T18%3A32%3A33IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-crossref&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Pirouette:%20higher-order%20typed%20functional%20choreographies&rft.jtitle=Proceedings%20of%20ACM%20on%20programming%20languages&rft.au=Hirsch,%20Andrew%20K.&rft.date=2022-01-01&rft.volume=6&rft.issue=POPL&rft.spage=1&rft.epage=27&rft.pages=1-27&rft.issn=2475-1421&rft.eissn=2475-1421&rft_id=info:doi/10.1145/3498684&rft_dat=%3Ccrossref%3E10_1145_3498684%3C/crossref%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true