Session Types Meet Polymorphism and Dependent Types
summary
Introduces session types for specifying bidirectional protocols in concurrent functional programming and shows how they guide server/client implementations. Covers two recent advances: FreeST2’s polymorphic context-free session types (improving modularity and removing a traditional restriction) and dependent session types (for more precise, flexible protocol descriptions), illustrated with examples and discussion of benefits and limitations.
AI-written summary · about
chapters (15)
- 0:00Start
- 1:40Session Types in One Slide
- 6:01Trajectory
- 8:28The Arithmetic Service
- 18:05Type syntax
- 23:02Type formation-Session types
- 25:13Session types are linear
- 25:40A client
- 29:25Defining subtyping
- 31:17Subtyping by example
- 33:37Subtyping rules
- 38:00Extended example: generic binary arithmetic server
- 39:24Revised grammar
- 40:40Three examples
- 42:30The grand unification
related talks
54mShared Session Types for Safe, Practical Concurrency
28mDependent Session Protocols in Separation Logic from First Principles
23mPrecise Subtyping for Asynchronous Multiparty Sessions
15mBorrowing From Session Types
35mAsynchronous and Synchronous Mixed Sessions
21mFair Termination of Binary Sessions
23mProbabilistic Refinement Session Types
25mA Logical Interpretation of Asynchronous Multiparty Compatibility
