id author title date pages extension mime words sentences flesch summary cache txt cord-026548-z2ifu1d6 Lagaillardie, Nicolas Implementing Multiparty Session Types in Rust 2020-05-13 .txt text/plain 3291 239 63 Multiparty Session Types (MPST) is a typing discipline for distributed protocols, which ensures communication safety and deadlock-freedom for more than two participants. In addition, since we generate the local types from a readable global specification, errors caused by an affine (and not linear) usage of channels, a well-known limitation of the previous libraries [8, 9] , are easily avoided. Our framework guarantees that processes implemented using mpst-rust primitives with Scribble-generated types are free from deadlocks, reception errors, and protocol deviations. (line 12), which is applied to a multiparty channel s of a sum type between ChoiceA::Video and ChoiceA::End. The behaviour of each branch in the protocol is implemented as an anonymous function. The types of the multiparty channel, as well as the generic types in the declaration of the mpst-rust communication functions, enable compile-time detection of protocol violations, such as swapping line 3 and line 4, using another communication primitive or using the wrong payload type. The Rust library in [8] implements binary session types, following [4] . ./cache/cord-026548-z2ifu1d6.txt ./txt/cord-026548-z2ifu1d6.txt