Session-typed languages building on the Curry-Howard isomorphism between linear logic and session-typed communication guarantee session fidelity and deadlock freedom. Unfortunately, these strong guarantees exclude many naturally occurring programming patterns pertaining to shared resources. In this paper, we introduce sharing into a session-typed language where types are stratified into linear and shared layers with modal operators connecting the layers. The resulting language retains session fidelity but not the absence of deadlocks, which can arise from contention for shared processes. We illustrate our language on various examples, such as the dining philosophers problem, and provide a translation of the untyped asynchronous $\pi$-calculus into our language.
Wed 6 Sep
13:00 - 14:30: Research Papers - Contracts and Sessions at L1 Chair(s): Matthew FlattUniversity of Utah | ||||||||||||||||||||||||||||||||||||||||||
13:00 - 13:22 Talk | DOI | |||||||||||||||||||||||||||||||||||||||||
13:22 - 13:45 Talk | Lucas WayeHarvard University, USA, Christos DimoulasHarvard University, USA, Stephen ChongHarvard University, USA DOI | |||||||||||||||||||||||||||||||||||||||||
13:45 - 14:07 Talk | DOI | |||||||||||||||||||||||||||||||||||||||||
14:07 - 14:30 Talk | Atsushi IgarashiKyoto University, Japan, Peter ThiemannUniversity of Freiburg, Germany, Vasco VasconcelosUniversity of Lisbon, Portugal, Philip WadlerUniversity of Edinburgh, UK DOI |