@misc(csharp, title = {C\# documentation}, note = {\url{https://docs.microsoft.com/dotnet/csharp/}}, ) @misc(scribble, title = {Scribble}, note = {\url{http://www.scribble.org/}}, ) @article(CHJNY2019, author = {David Castro and Raymond Hu and Sung-Shik Jongmans and Nicholas Ng and Nobuko Yoshida}, year = {2019}, title = {Distributed Programming Using Role-Parametric Session Types in Go: Statically-Typed Endpoint APIs for Dynamically-Instantiated Communication Structures}, journal = {Proc. ACM Program. Lang.}, volume = {3}, number = {POPL}, doi = {10.1145/3290342}, ) @inproceedings(DBLP:conf/popl/ChakravartyKJM05, author = {Manuel M. T. Chakravarty and Gabriele Keller and {Peyton Jones}, Simon L. and Simon Marlow}, year = {2005}, title = {Associated types with class}, editor = {Jens Palsberg and Mart{\'{\i}}n Abadi}, booktitle = {Proceedings of the 32nd {ACM} {SIGPLAN-SIGACT} Symposium on Principles of Programming Languages, {POPL} 2005, Long Beach, California, USA, January 12-14, 2005}, publisher = {{ACM}}, pages = {1--13}, doi = {10.1145/1040305.1040306}, ) @inproceedings(DBLP:conf/fmco/CooperLWY06, author = {Ezra Cooper and Sam Lindley and Philip Wadler and Jeremy Yallop}, year = {2006}, title = {Links: Web Programming Without Tiers}, booktitle = {Formal Methods for Components and Objects, 5th International Symposium, {FMCO} 2006, Amsterdam, The Netherlands, November 7-10, 2006, Revised Lectures}, pages = {266--296}, doi = {10.1007/978-3-540-74792-5\_12}, ) @article(DBLP:journals/iandc/DardhaGS17, author = {Ornela Dardha and Elena Giachino and Davide Sangiorgi}, year = {2017}, title = {Session types revisited}, journal = {Inf. Comput.}, volume = {256}, pages = {253--286}, doi = {10.1016/j.ic.2017.06.002}, ) @article(fowler, author = {Simon Fowler and Sam Lindley and J. Garrett Morris and S\'{a}ra Decova}, year = {2019}, title = {Exceptional Asynchronous Session Types: Session Types Without Tiers}, journal = {Proc. ACM Program. Lang.}, volume = {3}, number = {POPL}, pages = {28:1--28:29}, doi = {10.1145/3290341}, ) @inproceedings(honda98, author = {Kohei Honda and Vasco T. Vasconcelos and Makoto Kubo}, year = {1998}, title = {Language primitives and type discipline for structured communication-based programming}, editor = {Chris Hankin}, booktitle = {Programming Languages and Systems}, publisher = {Springer Berlin Heidelberg}, address = {Berlin, Heidelberg}, pages = {122--138}, doi = {10.1007/BFb0053567}, ) @misc(BETTYTOOLBOOK:scribble, author = {Raymond Hu}, year = {2017}, title = {{Distributed Programming Using Java APIs Generated from Session Types}}, note = {{In \cite[Chapter 13]{BETTYTOOLBOOK}.}}, ) @inproceedings(hy16, author = {Raymond Hu and Nobuko Yoshida}, year = {2016}, title = {{Hybrid Session Verification through Endpoint API Generation}}, booktitle = {19th International Conference on Fundamental Approaches to Software Engineering}, series = {LNCS}, volume = {9633}, publisher = {Springer}, pages = {401--418}, doi = {10.1007/978-3-662-49665-7_24}, ) @inproceedings(fase17, author = {Raymond Hu and Nobuko Yoshida}, year = {2017}, title = {Explicit Connection Actions in Multiparty Session Types}, editor = {Marieke Huisman and Julia Rubin}, booktitle = {Fundamental Approaches to Software Engineering}, publisher = {Springer Berlin Heidelberg}, address = {Berlin, Heidelberg}, pages = {116--133}, doi = {10.1007/978-3-662-54494-5_7}, ) @inproceedings(sessionjava, author = {Raymond Hu and Nobuko Yoshida and Kohei Honda}, year = {2008}, title = {Session-Based Distributed Programming in Java}, booktitle = {{ECOOP} 2008 - Object-Oriented Programming, 22nd European Conference, Paphos, Cyprus, July 7-11, 2008, Proceedings}, pages = {516--541}, doi = {10.1007/978-3-540-70592-5\_22}, ) @article(imai18sessionscp, author = {Keigo Imai and Nobuko Yoshida and Shoji Yuen}, year = {2018}, title = {{Session-ocaml: a Session-based Library with Polarities and Lenses}}, journal = {Sci. Comput. Program.}, volume = {172}, pages = {135--159}, doi = {10.1016/j.scico.2018.08.005}, ) @inproceedings(imai10session, author = {Keigo Imai and Shoji Yuen and Kiyoshi Agusa}, year = {2010}, title = {{Session Type Inference in Haskell}}, booktitle = {{Proceedings Third Workshop on Programming Language Approaches to Concurrency and communication-cEntric Software, PLACES 2010, Paphos, Cyprus, 21st March 2010.}}, pages = {74--91}, doi = {10.4204/EPTCS.69.6}, ) @inproceedings(jespersen15session, author = {Thomas Bracht Laumann Jespersen and Philip Munksgaard and Ken Friis Larsen}, year = {2015}, title = {{Session Types for Rust}}, booktitle = {WGP 2015: Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming}, publisher = {ACM}, pages = {13--22}, doi = {10.1145/2808098.2808100}, ) @inproceedings(DBLP:journals/corr/abs-1909-05970, author = {Wen Kokke}, year = {2019}, title = {Rusty Variation: Deadlock-free Sessions with Failure in Rust}, editor = {Massimo Bartoletti and Ludovic Henrio and Anastasia Mavridou and Alceste Scalas}, booktitle = {Proceedings 12th Interaction and Concurrency Experience, {ICE} 2019, Copenhagen, Denmark, 20-21 June 2019}, series = {{EPTCS}}, volume = {304}, pages = {48--60}, doi = {10.4204/EPTCS.304.4}, ) @inproceedings(DBLP:conf/ppdp/KouzapasDPG16, author = {Dimitrios Kouzapas and Ornela Dardha and Roly Perera and Simon J. Gay}, year = {2016}, title = {Typechecking protocols with Mungo and StMungo}, booktitle = {Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming, Edinburgh, United Kingdom, September 5-7, 2016}, pages = {146--159}, doi = {10.1145/2967973.2968595}, ) @inproceedings(DBLP:conf/esop/LindleyM15, author = {Sam Lindley and J. Garrett Morris}, year = {2015}, title = {A Semantics for Propositions as Sessions}, booktitle = {Programming Languages and Systems - 24th European Symposium on Programming, {ESOP} 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, {ETAPS} 2015, London, UK, April 11-18, 2015. Proceedings}, pages = {560--584}, doi = {10.1007/978-3-662-46669-8\_23}, ) @inproceedings(lindley16embedding, author = {Sam Lindley and J. Garrett Morris}, year = {2016}, title = {{Embedding Session Types in Haskell}}, booktitle = {Haskell 2016: Proceedings of the 9th International Symposium on Haskell}, publisher = {ACM}, pages = {133--145}, doi = {10.1145/2976002.2976018}, ) @article(tarai, author = {J. McCarthy}, year = {1979}, title = {An Interesting LISP Function}, journal = {Lisp Bull.}, number = {3}, pages = {6--8}, doi = {10.1145/1411829.1411833}, ) @article(merro-sangiorgi-2004, author = {Massimo Merro and Davide Sangiorgi}, year = {2004}, title = {On asynchrony in name-passing calculi}, journal = {Mathematical Structures in Computer Science}, volume = {14}, number = {5}, pages = {715–767}, doi = {10.1017/S0960129504004323}, ) @inproceedings(NeykovaHYA18, author = {Rumyana Neykova and Raymond Hu and Nobuko Yoshida and Fahd Abdeljallal}, year = {2018}, title = {A session type provider: compile-time {API} generation of distributed protocols with refinements in F{\#}}, booktitle = {Proceedings of the 27th International Conference on Compiler Construction, {CC} 2018, February 24-25, 2018, Vienna, Austria}, publisher = {{ACM}}, pages = {128--138}, doi = {10.1145/3178372.3179495}, ) @inproceedings(orchard16effects, author = {Dominic Orchard and Nobuko Yoshida}, year = {2016}, title = {{Effects as sessions, sessions as effects}}, booktitle = {POPL 2016: 43th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages}, publisher = {ACM}, pages = {568--581}, doi = {10.1145/2837614.2837634}, ) @article(padovani16simple, author = {Luca Padovani}, year = {2016}, title = {{A Simple Library Implementation of Binary Sessions}}, journal = {Journal of Functional Programming}, volume = {27}, pages = {e4}, doi = {10.1017/S0956796816000289}, ) @inproceedings(haskell08, author = {Riccardo Pucella and Jesse A. Tov}, year = {2008}, title = {Haskell Session Types with (Almost) No Class}, booktitle = {Proceedings of the First ACM SIGPLAN Symposium on Haskell}, series = {Haskell '08}, publisher = {ACM}, address = {New York, NY, USA}, pages = {25--36}, doi = {10.1145/1411286.1411290}, ) @article(DBLP:journals/jot/SaitoI08, author = {Chieri Saito and Atsushi Igarashi}, year = {2008}, title = {The Essence of Lightweight Family Polymorphism}, journal = {Journal of Object Technology}, volume = {7}, number = {5}, pages = {67--99}, doi = {10.5381/jot.2008.7.5.a3}, ) @inproceedings(scalas17linear, author = {Alceste Scalas and Ornela Dardha and Raymond Hu and Nobuko Yoshida}, year = {2017}, title = {{A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming}}, booktitle = {{ECOOP}}, doi = {10.4230/LIPIcs.ECOOP.2017.24}, ) @inproceedings(scalas16lightweight, author = {Alceste Scalas and Nobuko Yoshida}, year = {2016}, title = {{Lightweight Session Programming in Scala}}, booktitle = {ECOOP 2016: 30th European Conference on Object-Oriented Programming}, series = {LIPIcs}, volume = {56}, publisher = {Dagstuhl}, pages = {21:1--21:28}, doi = {10.4230/LIPIcs.ECOOP.2016.21}, ) @book(BETTYTOOLBOOK, editor = {Simon Gay, Ant\'onio Ravara}, year = {2017}, title = {Behavioural Types: from Theory to Tools}, publisher = {River Publisher}, doi = {10.13052/rp-9788793519817}, ) @article(DBLP:journals/jfp/Wadler14, author = {Philip Wadler}, year = {2014}, title = {Propositions as sessions}, journal = {J. Funct. Program.}, volume = {24}, number = {2-3}, pages = {384--418}, doi = {10.1017/S095679681400001X}, )