{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,9]],"date-time":"2026-04-09T21:15:08Z","timestamp":1775769308983,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":32,"publisher":"ACM","license":[{"start":{"date-parts":[[2019,7,17]],"date-time":"2019-07-17T00:00:00Z","timestamp":1563321600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100000266","name":"Engineering and Physical Sciences Research Council","doi-asserted-by":"publisher","award":["EP\/K034413\/1, EP\/K011715\/1, EP\/L00058X\/1, EP\/N027833\/1, EP\/N028201\/1"],"award-info":[{"award-number":["EP\/K034413\/1, EP\/K011715\/1, EP\/L00058X\/1, EP\/N027833\/1, EP\/N028201\/1"]}],"id":[{"id":"10.13039\/501100000266","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2019,7,17]]},"DOI":"10.1145\/3337932.3338812","type":"proceedings-article","created":{"date-parts":[[2019,7,12]],"date-time":"2019-07-12T13:12:48Z","timestamp":1562937168000},"page":"27-31","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":8,"title":["Effpi"],"prefix":"10.1145","author":[{"given":"Alceste","family":"Scalas","sequence":"first","affiliation":[{"name":"Aston University, Birmingham, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nobuko","family":"Yoshida","sequence":"additional","affiliation":[{"name":"Imperial College London, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Elias","family":"Benussi","sequence":"additional","affiliation":[{"name":"Faculty Science Ltd., UK"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,7,17]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1561\/2500000031"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"crossref","unstructured":"Mario Coppo Mariangiola Dezani-Ciancaglini Luca Padovani and Nobuko Yoshida. 2015. A Gentle Introduction to Multiparty Asynchronous Session Types. In Formal Methods for Multicore Programming.  Mario Coppo Mariangiola Dezani-Ciancaglini Luca Padovani and Nobuko Yoshida. 2015. A Gentle Introduction to Multiparty Asynchronous Session Types. In Formal Methods for Multicore Programming.","DOI":"10.1007\/978-3-319-18941-3_4"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-36742-7_15"},{"key":"e_1_3_2_1_4_1","unstructured":"Dotty developers. 2019. Dotty documentation: dependent function types. https:\/\/dotty.epfl.ch\/docs\/reference\/new-types\/dependent-function-types.html.  Dotty developers. 2019. Dotty documentation: dependent function types. https:\/\/dotty.epfl.ch\/docs\/reference\/new-types\/dependent-function-types.html."},{"key":"e_1_3_2_1_5_1","unstructured":"Dotty developers. 2019. Dotty documentation: implicit function types. https:\/\/dotty.epfl.ch\/docs\/reference\/new-types\/implicit-function-types-spec.html.  Dotty developers. 2019. Dotty documentation: implicit function types. https:\/\/dotty.epfl.ch\/docs\/reference\/new-types\/implicit-function-types-spec.html."},{"key":"e_1_3_2_1_6_1","unstructured":"Dotty developers. 2019. Dotty documentation: match types. http:\/\/dotty.epfl.ch\/docs\/reference\/new-types\/match-types.html.  Dotty developers. 2019. Dotty documentation: match types. http:\/\/dotty.epfl.ch\/docs\/reference\/new-types\/match-types.html."},{"key":"e_1_3_2_1_7_1","unstructured":"Dotty developers. 2019. Dotty documentation: union types. https:\/\/dotty.epfl.ch\/docs\/reference\/new-types\/union-types.html.  Dotty developers. 2019. Dotty documentation: union types. https:\/\/dotty.epfl.ch\/docs\/reference\/new-types\/union-types.html."},{"key":"e_1_3_2_1_8_1","unstructured":"Technische Universiteit Eindhoven. 2019. mCRL2 website. https:\/\/mcrl2.org\/.  Technische Universiteit Eindhoven. 2019. mCRL2 website. https:\/\/mcrl2.org\/."},{"key":"e_1_3_2_1_9_1","unstructured":"Ericsson. 2019. The Erlang\/OTP Programming Language and toolkit. http:\/\/erlang.org\/.  Ericsson. 2019. The Erlang\/OTP Programming Language and toolkit. http:\/\/erlang.org\/."},{"key":"e_1_3_2_1_10_1","volume-title":"Behavioural Types: From Theory to Tools","author":"Gay Simon","year":"2017","unstructured":"Simon Gay and Ant\u00f3nio Ravara . 2017 . Behavioural Types: From Theory to Tools . River Publishers , Series in Automation, Control and Robotics. Simon Gay and Ant\u00f3nio Ravara. 2017. Behavioural Types: From Theory to Tools. River Publishers, Series in Automation, Control and Robotics."},{"key":"e_1_3_2_1_11_1","unstructured":"Google. 2019. The Go Programming Language. https:\/\/golang.org\/.  Google. 2019. The Go Programming Language. https:\/\/golang.org\/."},{"key":"e_1_3_2_1_12_1","volume-title":"Modeling and Analysis of Communicating Systems","author":"Groote Jan Friso","unstructured":"Jan Friso Groote and Mohammad Reza Mousavi . 2014. Modeling and Analysis of Communicating Systems . The MIT Press . Jan Friso Groote and Mohammad Reza Mousavi. 2014. Modeling and Analysis of Communicating Systems. The MIT Press."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2637647.2637651"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"crossref","unstructured":"Kohei Honda. 1993. Types for Dyadic Interaction. In CONCUR.   Kohei Honda. 1993. Types for Dyadic Interaction. In CONCUR.","DOI":"10.1007\/3-540-57208-2_35"},{"key":"e_1_3_2_1_15_1","unstructured":"Roland Kuhn. 2017. Akka Typed Session. https:\/\/github.com\/rkuhn\/akka-typed-session.  Roland Kuhn. 2017. Akka Typed Session. https:\/\/github.com\/rkuhn\/akka-typed-session."},{"key":"e_1_3_2_1_16_1","unstructured":"Roland Kuhn. 2017. Akka Typed Session: audit example. https:\/\/github. com\/rkuhn\/akka-typed-session\/blob\/master\/src\/test\/scala\/com\/ rolandkuhn\/akka_typed_session\/auditdemo\/ProcessBased.scala.  Roland Kuhn. 2017. Akka Typed Session: audit example. https:\/\/github. com\/rkuhn\/akka-typed-session\/blob\/master\/src\/test\/scala\/com\/ rolandkuhn\/akka_typed_session\/auditdemo\/ProcessBased.scala."},{"key":"e_1_3_2_1_17_1","volume-title":"Akka Typed: Protocols. https:\/\/akka.io\/blog\/2017\/05\/12\/typed-protocols.","author":"Lightbend","year":"2017","unstructured":"Lightbend , Inc . 2017 . Akka Typed: Protocols. https:\/\/akka.io\/blog\/2017\/05\/12\/typed-protocols. Lightbend, Inc. 2017. Akka Typed: Protocols. https:\/\/akka.io\/blog\/2017\/05\/12\/typed-protocols."},{"key":"e_1_3_2_1_18_1","unstructured":"Lightbend Inc. 2019. Akka Dispatchers documentation. https:\/\/doc.akka.io\/docs\/akka\/2.5\/dispatchers.html.  Lightbend Inc. 2019. Akka Dispatchers documentation. https:\/\/doc.akka.io\/docs\/akka\/2.5\/dispatchers.html."},{"key":"e_1_3_2_1_19_1","unstructured":"Lightbend Inc. 2019. Akka remoting documentation. https:\/\/doc.akka.io\/docs\/akka\/2.5\/remoting.html.  Lightbend Inc. 2019. Akka remoting documentation. https:\/\/doc.akka.io\/docs\/akka\/2.5\/remoting.html."},{"key":"e_1_3_2_1_20_1","unstructured":"Lightbend Inc. 2019. The Akka toolkit and runtime. http:\/\/akka.io\/.  Lightbend Inc. 2019. The Akka toolkit and runtime. http:\/\/akka.io\/."},{"key":"e_1_3_2_1_21_1","unstructured":"Lightbend Inc. 2019. Akka Typed documentation. https:\/\/doc.akka.io\/docs\/akka\/2.5\/typed\/index.html.  Lightbend Inc. 2019. Akka Typed documentation. https:\/\/doc.akka.io\/docs\/akka\/2.5\/typed\/index.html."},{"key":"e_1_3_2_1_22_1","unstructured":"Lightbend Inc. 2019. Commonly used patterns with Akka. https:\/\/doc.akka.io\/api\/akka\/2.5\/akka\/pattern\/index.html.  Lightbend Inc. 2019. Commonly used patterns with Akka. https:\/\/doc.akka.io\/api\/akka\/2.5\/akka\/pattern\/index.html."},{"key":"e_1_3_2_1_23_1","unstructured":"Microsoft. 2019. The Orleans Framework. https:\/\/dotnet.github.io\/orleans\/.  Microsoft. 2019. The Orleans Framework. https:\/\/dotnet.github.io\/orleans\/."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-44202-9_13"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/3158130"},{"key":"e_1_3_2_1_26_1","volume-title":"The &pi;-calculus: a Theory of Mobile Processes","author":"Sangiorgi Davide","unstructured":"Davide Sangiorgi and David Walker . 2001. The &pi;-calculus: a Theory of Mobile Processes . Cambridge University Press . Davide Sangiorgi and David Walker. 2001. The &pi;-calculus: a Theory of Mobile Processes. Cambridge University Press."},{"key":"e_1_3_2_1_27_1","unstructured":"Alceste Scalas Ornela Dardha Raymond Hu and Nobuko Yoshida. 2017. A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming. In ECOOP.  Alceste Scalas Ornela Dardha Raymond Hu and Nobuko Yoshida. 2017. A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming. In ECOOP."},{"key":"e_1_3_2_1_28_1","volume-title":"A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming (Artifact). Dagstuhl Artifacts Series 3, 1","author":"Scalas Alceste","year":"2017","unstructured":"Alceste Scalas , Ornela Dardha , Raymond Hu , and Nobuko Yoshida . 2017. A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming (Artifact). Dagstuhl Artifacts Series 3, 1 ( 2017 ). Alceste Scalas, Ornela Dardha, Raymond Hu, and Nobuko Yoshida. 2017. A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming (Artifact). Dagstuhl Artifacts Series 3, 1 (2017)."},{"key":"e_1_3_2_1_29_1","unstructured":"Alceste Scalas and Nobuko Yoshida. 2016. Lightweight Session Programming in Scala. In ECOOP.  Alceste Scalas and Nobuko Yoshida. 2016. Lightweight Session Programming in Scala. In ECOOP."},{"key":"e_1_3_2_1_30_1","volume-title":"Lightweight Session Programming in Scala (Artifact). Dagstuhl Artifacts Series 2, 1","author":"Scalas Alceste","year":"2016","unstructured":"Alceste Scalas and Nobuko Yoshida . 2016. Lightweight Session Programming in Scala (Artifact). Dagstuhl Artifacts Series 2, 1 ( 2016 ). Alceste Scalas and Nobuko Yoshida. 2016. Lightweight Session Programming in Scala (Artifact). Dagstuhl Artifacts Series 2, 1 (2016)."},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3290343"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3314221.3322484"}],"event":{"name":"Scala '19: Tenth ACM SIGPLAN Scala Symposium","location":"London United Kingdom","acronym":"Scala '19","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the Tenth ACM SIGPLAN Symposium on Scala"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3337932.3338812","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3337932.3338812","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T00:25:42Z","timestamp":1750206342000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3337932.3338812"}},"subtitle":["verified message-passing programs in Dotty"],"short-title":[],"issued":{"date-parts":[[2019,7,17]]},"references-count":32,"alternative-id":["10.1145\/3337932.3338812","10.1145\/3337932"],"URL":"https:\/\/doi.org\/10.1145\/3337932.3338812","relation":{},"subject":[],"published":{"date-parts":[[2019,7,17]]},"assertion":[{"value":"2019-07-17","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}