Information and Computation · 2022 · 19 citations · 28 references
ComputingComputer ScienceMathematicsFormal MethodsProgramming LanguagesSyntaxContext-free LanguagesData TypesModel TheoryRecursion TheoryType CheckingType SystemsLinear TypesPolymorphic Type SystemsPolymorphic TypesPolymorphism StudiesSession TypesTree StructuresType PreservationTyped Lambda Calculus
Session types provide a typing discipline for structured communication on bidirectional channels. Context-free session types overcome the restriction to tail recursive protocols characteristic of conventional session types. This extension enables the serialization and deserialization of tree structures in a fully type-safe manner. We present the theory underlying the language FreeST 2, which features context-free session types in an extension of System F with linear types and a kinding system to distinguish message types, session types, and channel types. The system presents metatheoretical challenges which we address: contractivity in the presence of polymorphism, a non-trivial equational theory on types, and decidability of type equivalence. We also establish standard results on typing preservation, progress, and a characterization of erroneous processes.
28
A calculus of mobile processes, I
Robin Milner, Joachim Parrow, David Walker · Information and Computation · 1992 · 2.8K citations · Full text
Subtyping for session types in the pi calculus
Simon J. Gay, Malcolm Hole · Acta Informatica · 2005 · 377 citations
Roberto M. Amadio, Luca Cardelli · ACM Transactions on Programming Languages and Systems · 1993 · 353 citations · Full text
Introduction to Bisimulation and Coinduction
Davide Sangiorgi · Cambridge University Press eBooks · 2011 · 308 citations
Multiparty Asynchronous Session Types
Kohei Honda, Nobuko Yoshida, Marco Carbone · Journal of the ACM · 2016 · 287 citations · Full text