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.
翻译:我们介绍了高阶功能舞蹈编程所使用的语言Pirouette。 Pirouette为程序员提供了写中央功能编程并通过终端投影将其编成分布式系统中每个节点的程序的能力。此外,Pirouette通常被定义为信息的一种(当地)语言,并且将信息类型系统的保障提升到它自己的语言。信息类型健全也保证了僵局的自由。我们的所有结果都在 Coq 中验证。