{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,9]],"date-time":"2026-04-09T21:16:02Z","timestamp":1775769362173,"version":"3.50.1"},"publisher-location":"Cham","reference-count":32,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031911200","type":"print"},{"value":"9783031911217","type":"electronic"}],"license":[{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2025,5,1]],"date-time":"2025-05-01T00:00:00Z","timestamp":1746057600000},"content-version":"vor","delay-in-days":120,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2025]]},"abstract":"<jats:title>Abstract<\/jats:title>\n          <jats:p>Replication is an alternative construct to recursion for describing infinite behaviours in the <jats:inline-formula>\n              <jats:alternatives>\n                <jats:tex-math>$$\\pi $$<\/jats:tex-math>\n                <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\">\n                  <mml:mi>\u03c0<\/mml:mi>\n                <\/mml:math>\n              <\/jats:alternatives>\n            <\/jats:inline-formula>-calculus. In this paper we explore the implications of including type-level replication in <jats:italic>Multiparty Session Types (MPST)<\/jats:italic>, a behavioural type theory for message-passing programs. We introduce <jats:inline-formula>\n              <jats:alternatives>\n                <jats:tex-math>$$\\textsf {MPST!} $$<\/jats:tex-math>\n                <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\">\n                  <mml:mrow>\n                    <mml:mi>MPST<\/mml:mi>\n                    <mml:mo>!<\/mml:mo>\n                  <\/mml:mrow>\n                <\/mml:math>\n              <\/jats:alternatives>\n            <\/jats:inline-formula>, a session-typed multiparty process calculus with replication and first-class roles. We show that replication is <jats:italic>not<\/jats:italic> an equivalent alternative to recursion in MPST, and that using both replication <jats:italic>and<\/jats:italic> recursion in one type system in fact allows us to express both context-free protocols and protocols that support mutual exclusion and races. We demonstrate the expressiveness of <jats:inline-formula>\n              <jats:alternatives>\n                <jats:tex-math>$$\\textsf {MPST!} $$<\/jats:tex-math>\n                <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\">\n                  <mml:mrow>\n                    <mml:mi>MPST<\/mml:mi>\n                    <mml:mo>!<\/mml:mo>\n                  <\/mml:mrow>\n                <\/mml:math>\n              <\/jats:alternatives>\n            <\/jats:inline-formula> on examples including binary tree serialisation, dining philosophers, and a model of an auction, and explore the implications of replication on the decidability of typechecking.<\/jats:p>","DOI":"10.1007\/978-3-031-91121-7_6","type":"book-chapter","created":{"date-parts":[[2025,5,2]],"date-time":"2025-05-02T13:38:37Z","timestamp":1746193117000},"page":"125-153","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Multiparty Session Types with a Bang!"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7394-0122","authenticated-orcid":false,"given":"Matthew Alan","family":"Le Brun","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5143-5475","authenticated-orcid":false,"given":"Simon","family":"Fowler","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9927-7875","authenticated-orcid":false,"given":"Ornela","family":"Dardha","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2025,5,1]]},"reference":[{"key":"6_CR1","doi-asserted-by":"publisher","unstructured":"Almeida, B., Mordido, A., Thiemann, P., Vasconcelos, V.T.: Polymorphic lambda calculus with context-free session types. Inf. Comput. 289(Part), 104948 (2022). https:\/\/doi.org\/10.1016\/j.ic.2022.104948, https:\/\/doi.org\/10.1016\/j.ic.2022.104948","DOI":"10.1016\/j.ic.2022.104948"},{"key":"6_CR2","doi-asserted-by":"publisher","unstructured":"Barwell, A.D., Scalas, A., Yoshida, N., Zhou, F.: Generalised multiparty session types with crash-stop failures. In: Klin, B., Lasota, S., Muscholl, A. (eds.) 33rd International Conference on Concurrency Theory, CONCUR 2022, September 12-16, 2022, Warsaw, Poland. LIPIcs, vol.\u00a0243, pp. 35:1\u201335:25. Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik (2022). https:\/\/doi.org\/10.4230\/LIPIcs.CONCUR.2022.35, https:\/\/doi.org\/10.4230\/LIPIcs.CONCUR.2022.35","DOI":"10.4230\/LIPIcs.CONCUR.2022.35"},{"key":"6_CR3","doi-asserted-by":"publisher","unstructured":"Bettini, L., Coppo, M., D\u2019Antoni, L., Luca, M.D., Dezani-Ciancaglini, M., Yoshida, N.: Global progress in dynamically interleaved multiparty sessions. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008 - Concurrency Theory, 19th International Conference, CONCUR 2008, Toronto, Canada, August 19-22, 2008. Proceedings. Lecture Notes in Computer Science, vol.\u00a05201, pp. 418\u2013433. Springer (2008). https:\/\/doi.org\/10.1007\/978-3-540-85361-9_33, https:\/\/doi.org\/10.1007\/978-3-540-85361-9_33","DOI":"10.1007\/978-3-540-85361-9_33"},{"key":"6_CR4","doi-asserted-by":"publisher","unstructured":"Le Brun, M.A., Dardha, O.: Mag$$\\pi $$!: The role of replication in typing failure-prone communication. In: Castiglioni, V., Francalanza, A. (eds.) Formal Techniques for Distributed Objects, Components, and Systems - 44th IFIP WG 6.1 International Conference, FORTE 2024, Held as Part of the 19th International Federated Conference on Distributed Computing Techniques, DisCoTec 2024, Groningen, The Netherlands, June 17-21, 2024, Proceedings. Lecture Notes in Computer Science, vol. 14678, pp. 99\u2013117. Springer (2024). https:\/\/doi.org\/10.1007\/978-3-031-62645-6_6, https:\/\/doi.org\/10.1007\/978-3-031-62645-6_6","DOI":"10.1007\/978-3-031-62645-6_6"},{"key":"6_CR5","doi-asserted-by":"publisher","unstructured":"Caires, L., P\u00e9rez, J.A.: Linearity, control effects, and behavioral types. In: Yang, H. (ed.) Programming Languages and Systems - 26th European Symposium on Programming, ESOP 2017, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017, Uppsala, Sweden, April 22-29, 2017, Proceedings. Lecture Notes in Computer Science, vol. 10201, pp. 229\u2013259. Springer (2017). https:\/\/doi.org\/10.1007\/978-3-662-54434-1_9, https:\/\/doi.org\/10.1007\/978-3-662-54434-1_9","DOI":"10.1007\/978-3-662-54434-1_9"},{"key":"6_CR6","doi-asserted-by":"publisher","unstructured":"Caires, L., Pfenning, F., Toninho, B.: Linear logic propositions as session types. Math. Struct. Comput. Sci. 26(3), 367\u2013423 (2016). https:\/\/doi.org\/10.1017\/S0960129514000218, https:\/\/doi.org\/10.1017\/S0960129514000218","DOI":"10.1017\/S0960129514000218"},{"key":"6_CR7","doi-asserted-by":"publisher","unstructured":"Coppo, M., Dezani-Ciancaglini, M., Padovani, L., Yoshida, N.: A gentle introduction to multiparty asynchronous session types. In: Bernardo, M., Johnsen, E.B. (eds.) Formal Methods for Multicore Programming - 15th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2015, Bertinoro, Italy, June 15-19, 2015, Advanced Lectures. Lecture Notes in Computer Science, vol.\u00a09104, pp. 146\u2013178. Springer (2015). https:\/\/doi.org\/10.1007\/978-3-319-18941-3_4, https:\/\/doi.org\/10.1007\/978-3-319-18941-3_4","DOI":"10.1007\/978-3-319-18941-3_4"},{"key":"6_CR8","doi-asserted-by":"publisher","unstructured":"Dardha, O., Gay, S.J.: A new linear logic for deadlock-free session-typed processes. In: Baier, C., Lago, U.D. (eds.) Foundations of Software Science and Computation Structures - 21st International Conference, FOSSACS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Thessaloniki, Greece, April 14-20, 2018, Proceedings. Lecture Notes in Computer Science, vol. 10803, pp. 91\u2013109. Springer (2018). https:\/\/doi.org\/10.1007\/978-3-319-89366-2_5, https:\/\/doi.org\/10.1007\/978-3-319-89366-2_5","DOI":"10.1007\/978-3-319-89366-2_5"},{"key":"6_CR9","doi-asserted-by":"publisher","unstructured":"Dardha, O., Giachino, E., Sangiorgi, D.: Session types revisited. Inf. Comput. 256, 253\u2013286 (2017). https:\/\/doi.org\/10.1016\/j.ic.2017.06.002, https:\/\/doi.org\/10.1016\/j.ic.2017.06.002","DOI":"10.1016\/j.ic.2017.06.002"},{"key":"6_CR10","doi-asserted-by":"publisher","unstructured":"Deni\u00e9lou, P., Yoshida, N., Bejleri, A., Hu, R.: Parameterised multiparty session types. Log. Methods Comput. Sci. 8(4) (2012). https:\/\/doi.org\/10.2168\/LMCS-8(4:6)2012, https:\/\/doi.org\/10.2168\/LMCS-8(4:6)2012","DOI":"10.2168\/LMCS-8(4:6)2012"},{"key":"6_CR11","doi-asserted-by":"crossref","unstructured":"Ehrhard, T.: An introduction to differential linear logic: proof-nets, models and antiderivatives. Math. Struct. Comput. Sci. 28(7), 995\u20131060 (2018)","DOI":"10.1017\/S0960129516000372"},{"key":"6_CR12","doi-asserted-by":"crossref","unstructured":"Fowler, S., Kokke, W., Dardha, O., Lindley, S., Morris, J.G.: Separating sessions smoothly. Log. Methods Comput. Sci. 19(3) (2023)","DOI":"10.46298\/lmcs-19(3:3)2023"},{"key":"6_CR13","doi-asserted-by":"publisher","unstructured":"Gay, S.J., Hole, M.: Subtyping for session types in the pi calculus. Acta Informatica 42(2-3), 191\u2013225 (2005). https:\/\/doi.org\/10.1007\/S00236-005-0177-Z, https:\/\/doi.org\/10.1007\/s00236-005-0177-z","DOI":"10.1007\/S00236-005-0177-Z"},{"key":"6_CR14","doi-asserted-by":"publisher","unstructured":"Honda, K.: Types for dyadic interaction. In: Best, E. (ed.) CONCUR \u201993, 4th International Conference on Concurrency Theory, Hildesheim, Germany, August 23-26, 1993, Proceedings. Lecture Notes in Computer Science, vol.\u00a0715, pp. 509\u2013523. Springer (1993). https:\/\/doi.org\/10.1007\/3-540-57208-2_35, https:\/\/doi.org\/10.1007\/3-540-57208-2_35","DOI":"10.1007\/3-540-57208-2_35"},{"key":"6_CR15","doi-asserted-by":"publisher","unstructured":"Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) Programming Languages and Systems - ESOP\u201998, 7th European Symposium on Programming, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS\u201998, Lisbon, Portugal, March 28 - April 4, 1998, Proceedings. Lecture Notes in Computer Science, vol.\u00a01381, pp. 122\u2013138. Springer (1998). https:\/\/doi.org\/10.1007\/BFb0053567, https:\/\/doi.org\/10.1007\/BFb0053567","DOI":"10.1007\/BFb0053567"},{"key":"6_CR16","doi-asserted-by":"publisher","unstructured":"Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. J. ACM 63(1), 9:1\u20139:67 (2016). https:\/\/doi.org\/10.1145\/2827695, https:\/\/doi.org\/10.1145\/2827695","DOI":"10.1145\/2827695"},{"key":"6_CR17","doi-asserted-by":"crossref","unstructured":"Kokke, W., Montesi, F., Peressotti, M.: Better late than never: a fully-abstract semantics for classical processes. Proc. ACM Program. Lang. 3(POPL), 24:1\u201324:29 (2019)","DOI":"10.1145\/3290337"},{"key":"6_CR18","doi-asserted-by":"crossref","unstructured":"Kokke, W., Morris, J.G., Wadler, P.: Towards races in linear logic. Log. Methods Comput. Sci. 16(4) (2020)","DOI":"10.23638\/LMCS-16(4:15)2020"},{"key":"6_CR19","doi-asserted-by":"publisher","unstructured":"Le Brun, M.A., Dardha, O.: Mag$$\\pi $$: Types for failure-prone communication. In: Wies, T. (ed.) Programming Languages and Systems - 32nd European Symposium on Programming, ESOP 2023, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2023, Paris, France, April 22-27, 2023, Proceedings. Lecture Notes in Computer Science, vol. 13990, pp. 363\u2013391. Springer (2023). https:\/\/doi.org\/10.1007\/978-3-031-30044-8_14, https:\/\/doi.org\/10.1007\/978-3-031-30044-8_14","DOI":"10.1007\/978-3-031-30044-8_14"},{"key":"6_CR20","doi-asserted-by":"crossref","unstructured":"Le Brun, M.A., Fowler, S., Dardha, O.: Multiparty session types with a bang! (2025), https:\/\/arxiv.org\/abs\/2501.14702","DOI":"10.1007\/978-3-031-91121-7_6"},{"key":"6_CR21","doi-asserted-by":"publisher","unstructured":"Marshall, D., Orchard, D.: Replicate, reuse, repeat: Capturing non-linear communication via session types and graded modal types. In: Carbone, M., Neykova, R. (eds.) Proceedings of the 13th International Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software, PLACES@ETAPS 2022, Munich, Germany, 3rd April 2022. EPTCS, vol.\u00a0356, pp. 1\u201311 (2022). https:\/\/doi.org\/10.4204\/EPTCS.356.1, https:\/\/doi.org\/10.4204\/EPTCS.356.1","DOI":"10.4204\/EPTCS.356.1"},{"key":"6_CR22","doi-asserted-by":"publisher","unstructured":"Po\u00e7as, D., Costa, D., Mordido, A., Vasconcelos, V.T.: System $${\\rm f}^{\\mu }_{\\omega }$$ with context-free session types. In: Wies, T. (ed.) Programming Languages and Systems - 32nd European Symposium on Programming, ESOP 2023, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2023, Paris, France, April 22-27, 2023, Proceedings. Lecture Notes in Computer Science, vol. 13990, pp. 392\u2013420. Springer (2023). https:\/\/doi.org\/10.1007\/978-3-031-30044-8_15, https:\/\/doi.org\/10.1007\/978-3-031-30044-8_15","DOI":"10.1007\/978-3-031-30044-8_15"},{"key":"6_CR23","doi-asserted-by":"publisher","unstructured":"Qian, Z., Kavvos, G.A., Birkedal, L.: Client-server sessions in linear logic. Proc. ACM Program. Lang. 5(ICFP), 1\u201331 (2021). https:\/\/doi.org\/10.1145\/3473567, https:\/\/doi.org\/10.1145\/3473567","DOI":"10.1145\/3473567"},{"key":"6_CR24","doi-asserted-by":"crossref","unstructured":"Rocha, P., Caires, L.: Safe session-based concurrency with shared linear state. In: ESOP. Lecture Notes in Computer Science, vol. 13990, pp. 421\u2013450. Springer (2023)","DOI":"10.1007\/978-3-031-30044-8_16"},{"key":"6_CR25","doi-asserted-by":"publisher","unstructured":"Scalas, A., Dardha, O., Hu, R., Yoshida, N.: A linear decomposition of multiparty sessions for safe distributed programming (artifact). Dagstuhl Artifacts Ser. 3(2), 03:1\u201303:2 (2017). https:\/\/doi.org\/10.4230\/DARTS.3.2.3, https:\/\/doi.org\/10.4230\/DARTS.3.2.3","DOI":"10.4230\/DARTS.3.2.3"},{"key":"6_CR26","unstructured":"Scalas, A., Yoshida, N.: Less is more: multiparty session types revisited. Tech. Rep.\u00a06, Imperial College London (2018), https:\/\/www.doc.ic.ac.uk\/research\/technicalreports\/2018\/6"},{"key":"6_CR27","doi-asserted-by":"publisher","unstructured":"Scalas, A., Yoshida, N.: Less is more: multiparty session types revisited. Proc. ACM Program. Lang. 3(POPL), 30:1\u201330:29 (2019). https:\/\/doi.org\/10.1145\/3290343, https:\/\/doi.org\/10.1145\/3290343","DOI":"10.1145\/3290343"},{"key":"6_CR28","unstructured":"Stutz, F.: Implementability of Asynchronous Communication Protocols - The Power of Choice. Ph.D. thesis, Kaiserslautern University of Technology, Germany (2024), https:\/\/kluedo.ub.rptu.de\/frontdoor\/index\/index\/docId\/8077"},{"key":"6_CR29","doi-asserted-by":"publisher","unstructured":"Thiemann, P., Vasconcelos, V.T.: Context-free session types. In: Garrigue, J., Keller, G., Sumii, E. (eds.) Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, ICFP 2016, Nara, Japan, September 18-22, 2016. pp. 462\u2013475. ACM (2016). https:\/\/doi.org\/10.1145\/2951913.2951926, https:\/\/doi.org\/10.1145\/2951913.2951926","DOI":"10.1145\/2951913.2951926"},{"key":"6_CR30","doi-asserted-by":"crossref","unstructured":"Toninho, B., Yoshida, N.: Interconnectability of session-based logical processes. ACM Trans. Program. Lang. Syst. 40(4), 17:1\u201317:42 (2018)","DOI":"10.1145\/3242173"},{"key":"6_CR31","doi-asserted-by":"publisher","unstructured":"Vasconcelos, V.T.: Fundamentals of session types. Inf. Comput. 217, 52\u201370 (2012). https:\/\/doi.org\/10.1016\/J.IC.2012.05.002, https:\/\/doi.org\/10.1016\/j.ic.2012.05.002","DOI":"10.1016\/J.IC.2012.05.002"},{"key":"6_CR32","doi-asserted-by":"publisher","unstructured":"Wadler, P.: Propositions as sessions. J. Funct. Program. 24(2-3), 384\u2013418 (2014). https:\/\/doi.org\/10.1017\/S095679681400001X, https:\/\/doi.org\/10.1017\/S095679681400001X","DOI":"10.1017\/S095679681400001X"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-91121-7_6","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,5,6]],"date-time":"2025-05-06T08:41:06Z","timestamp":1746520866000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-91121-7_6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025]]},"ISBN":["9783031911200","9783031911217"],"references-count":32,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-91121-7_6","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025]]},"assertion":[{"value":"1 May 2025","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ESOP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"European Symposium on Programming","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Hamilton, ON","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Canada","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2025","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"3 May 2025","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"8 May 2025","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"34","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"esop2025","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/etaps.org\/2025\/conferences\/esop\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}