@article(ixmonad, author = {Robert Atkey}, year = {2009}, title = {Parameterised Notions of Computation}, journal = {J. Funct. Program.}, volume = {19}, number = {3-4}, pages = {335--376}, doi = {10.1017/S095679680900728X}, ) @misc(web:scribble, author = {The scribble authors}, year = {2008}, title = {Scribble homepage}, howpublished = {\url{https://www.scribble.com}}, ) @inproceedings(ocsigen:www2012, author = {Vincent Balat and Pierre Chambart and Gr{\'e}goire Henry}, year = {2012}, title = {{Client-server Web applications with Ocsigen}}, booktitle = {WWW'12 dev track: Proceedings of the 21nd international conference on World Wide Web}, address = {Lyon, France}, pages = {59}, url = {http://hal.archives-ouvertes.fr/hal-00691710}, ) @inproceedings(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}}, booktitle = {46th ACM SIGPLAN Symposium on Principles of Programming Languages}, publisher = {ACM}, pages = {1--30}, doi = {10.1145/3290342}, ) @phdthesis(thesis:fielding, author = {Roy Thomas Fielding}, year = {2000}, title = {Architectural Styles and the Design of Network-based Software Architectures}, school = {University of California, Irvine}, ) @misc(web:dart, author = {{Google}}, year = {2011}, title = {{Dart programming language}}, howpublished = {{\url{https://www.dartlang.org/}}}, ) @inproceedings(Gundry:2015:TPU:2804302.2804305, author = {Adam Gundry}, year = {2015}, title = {A Typechecker Plugin for Units of Measure: Domain-specific Constraint Solving in GHC Haskell}, booktitle = {Proceedings of the 2015 ACM SIGPLAN Symposium on Haskell}, series = {Haskell '15}, publisher = {ACM}, address = {New York, NY, USA}, pages = {11--22}, doi = {10.1145/2804302.2804305}, ) @article(typeclass, author = {Cordelia V. Hall and Kevin Hammond and {Peyton Jones}, Simon L. and Philip Wadler}, year = {1996}, title = {Type Classes in Haskell}, journal = {{ACM} TOPLAS}, volume = {18}, number = {2}, pages = {109--138}, doi = {10.1145/227699.227700}, ) @misc(gh:ghcjs, author = {{Hamish Mackenzie, Victor Nazarov, Luite Stegeman}}, year = {2010}, title = {{GHCJS}}, howpublished = {{\url{https://github.com/ghcjs/ghcjs}}}, ) @article(HYC2016, author = {Kohei Honda and Nobuko Yoshida and Marco Carbone}, year = {2016}, title = {{Multiparty Asynchronous Session Types}}, journal = {JACM}, volume = {63}, pages = {1--67}, doi = {10.1145/2827695}, ) @inproceedings(HY2016, 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(HY2017, author = {Raymond Hu and Nobuko Yoshida}, year = {2017}, title = {{Explicit Connection Actions in Multiparty Session Types}}, booktitle = {20th International Conference on Fundamental Approaches to Software Engineering}, series = {LNCS}, volume = {10202}, publisher = {Springer}, pages = {116--133}, doi = {10.1007/978-3-662-54494-5_7}, ) @inproceedings(IYY2017, author = {Keigo Imai and Nobuko Yoshida and Shoji Yuen}, year = {2017}, title = {{Session-ocaml: a session-based library with polarities and lenses}}, booktitle = {19th International Conference on Coordination Models and Languages}, series = {LNCS}, volume = {10319}, publisher = {Springer}, pages = {99--118}, doi = {10.1007/978-3-319-59746-1_6}, ) @misc(gh:scribble-battleships, author = {{Jonathan King}}, year = {2019}, title = {{Scribble Battleships}}, howpublished = {{\url{https://github.com/jonathanlking/scribble-battleships}}}, ) @inproceedings(jones:mptc, author = {Mark P. Jones}, year = {2000}, title = {{Type Classes with Functional Dependencies}}, booktitle = {ESOP}, publisher = {Springer}, pages = {230--244}, doi = {10.1007/3-540-46425-5\_15}, ) @misc(web:webrtc, author = {{Justin Uberti and Peter Thatcher}}, year = {2011}, title = {{WebRTC}}, howpublished = {{\url{https://webrtc.org}}}, ) @inproceedings(Kouzapas:2016:TPM, 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}, series = {PPDP '16}, publisher = {ACM}, address = {New York, NY, USA}, pages = {146--159}, doi = {10.1145/2967973.2968595}, ) @article(stmungo, author = {Dimitrios Kouzapas and Ornela Dardha and Roly Perera and Simon J. Gay}, year = {2018}, title = {Typechecking protocols with Mungo and StMungo: A session type toolchain for Java}, journal = {Science of Computer Programming}, volume = {155}, pages = {52 -- 75}, doi = {10.1016/j.scico.2017.10.006}, url = {http://www.sciencedirect.com/science/article/pii/S0167642317302186}, ) @inproceedings(gv, author = {Sam Lindley and J. Garrett Morris}, year = {2015}, title = {A Semantics for Propositions as Sessions}, editor = {Jan Vitek}, booktitle = {Programming Languages and Systems}, publisher = {Springer Berlin Heidelberg}, address = {Berlin, Heidelberg}, pages = {560--584}, doi = {10.1007/978-3-662-46669-8_23}, ) @article(LM2017, author = {Sam Lindley and J. Garrett Morris}, year = {2017}, title = {{Lightweight functional session types}}, journal = {Behavioural Types: from Theory to Tools}, pages = {265--286}, doi = {10.13052/rp-9788793519817}, ) @misc(web:links, author = {{Links contributors}}, year = {2006}, title = {{The Links Programming Language}}, howpublished = {{\url{http://links-lang.org}}}, ) @article(MP2017, author = {Hern\'an Melgratti and Luca Padovani}, year = {2017}, title = {{An OCaml Implementation of Binary Sessions}}, journal = {Behavioural Types: from Theory to Tools}, pages = {265--286}, doi = {10.13052/rp-9788793519817}, ) @misc(rfc6455, author = {Alexey Melnikov and Ian Fette}, year = {2011}, title = {{The WebSocket Protocol}}, howpublished = {RFC 6455}, doi = {10.17487/RFC6455}, url = {https://rfc-editor.org/rfc/rfc6455.txt}, ) @misc(web:typescript, author = {{Microsoft Corporation}}, year = {2014}, title = {{TypeScript Language Specification}}, howpublished = {{\url{http://typescriptlang.org/}}}, ) @inproceedings(NHYA2018, author = {Rumyana Neykova and Raymond Hu and Nobuko Yoshida and Fahd Abdeljallal}, year = {2018}, title = {{A Session Type Provider: Compile-time API Generation for Distributed Protocols with Interaction Refinements in F\#}}, booktitle = {27th International Conference on Compiler Construction}, publisher = {ACM}, pages = {128--138}, doi = {10.1145/3178372.3179495}, ) @inproceedings(NCY2015, author = {Nicholas Ng and Jose G.F. Coutinho and Nobuko Yoshida}, year = {2015}, title = {{Protocols by Default: Safe MPI Code Generation based on Session Types}}, booktitle = {24th International Conference on Compiler Construction}, series = {LNCS}, volume = {9031}, publisher = {Springer}, pages = {212--232}, doi = {10.1007/978-3-662-46663-6_11}, ) @article(OY2017, author = {Dominic Orchard and Nobuko Yoshida}, year = {2017}, title = {{Session Types with Linearity in Haskell}}, journal = {Behavioural Types: from Theory to Tools}, pages = {219--242}, doi = {10.13052/rp-9788793519817}, ) @article(Padovani17A, author = {Luca Padovani}, year = {2017}, title = {{A Simple Library Implementation of Binary Sessions}}, journal = {Journal of Functional Programming}, volume = {27}, doi = {10.1017/S0956796816000289}, ) @misc(web:purescript, author = {{PureScript contributors}}, year = {2017}, title = {{PureScript Language Specification}}, howpublished = {{\url{http://www.purescript.org/}}}, ) @inproceedings(SDHY2017, 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 = {31st European Conference on Object-Oriented Programming}, series = {LIPIcs}, volume = {74}, publisher = {Schloss Dagstuhl}, pages = {24:1--24:31}, doi = {10.4230/LIPIcs.ECOOP.2017.24}, ) @article(vouillon-balat:spe2013, author = {J{\'e}r{\^o}me Vouillon and Vincent Balat}, year = {2013}, title = {{From Bytecode to JavaScript: the Js\_of\_ocaml Compiler}}, journal = {Software: Practice and Experience}, doi = {10.1002/spe.2187}, ) @inproceedings(YHNN13, author = {Nobuko Yoshida and Raymond Hu and Rumyana Neykova and Nicholas Ng}, year = {2013}, title = {The Scribble Protocol Language}, editor = {Mart{\'{\i}}n Abadi and Lluch{-}Lafuente, Alberto}, booktitle = {Trustworthy Global Computing - 8th International Symposium, {TGC} 2013, Buenos Aires, Argentina, August 30-31, 2013, Revised Selected Papers}, series = {LNCS}, volume = {8358}, publisher = {Springer}, pages = {22--41}, doi = {10.1007/978-3-319-05119-2_3}, )