Session Types Meet Polymorphism and Dependent Types
We live in a world of connected services where geographically separate servers and clients exchange messages following sophisticated protocols. How do we ensure that implementations of servers and clients abide by those protocols? Session types provide one possible answer.A session type describes a bidirectional protocol with branching and looping. At the same time it guides the structure of server and client implementations for the protocol. Starting from first principles, this talk introduces the ideas of session types in the context of concurrent functional programming. We continue with a glimpse at two recent advances: polymorphic context-free session types as implemented in FreeST2 and dependent session types. Both advances increase expressivity; the first emphasizes modularity and supersedes a restriction of traditional systems, while the second enables more flexible and precise descriptions of protocols. The talk will be driven mainly by examples, but we also point out advantages, limitations, and challenges.
Slides (thiemann.pdf) | 383KiB |
Tue 17 JanDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:30 | |||
11:00 45mTalk | Session Types Meet Polymorphism and Dependent Types PLMW @ POPL Peter Thiemann University of Freiburg, Germany Media Attached File Attached | ||
11:45 45mPanel | Career Trajectories in PL PLMW @ POPL Richard A. Eisenberg Jane Street, Anitha Gollamudi University of Massachusetts Lowell, Ryan Kavanagh McGill University, Joseph Tassarotti NYU, M: Michael Greenberg Stevens Institute of Technology |