Skip to main content

Using session types as an effect system

Orchard, Dominic, Yoshida, Nobuko (2016) Using session types as an effect system. In: Gay, Simon and Alglave, Jade, eds. Electronic Proceedings in Theoretical Computer Science. Proceedings Eighth International Workshop on Programming Language Approaches to Concurrency- and Communication-cEntric Software. 203. pp. 1-13. Open Publishing Association (doi:10.4204/EPTCS.203.1)

PDF - Publisher pdf

Creative Commons Licence
This work is licensed under a Creative Commons Attribution 4.0 International License.
Download (216kB) Preview
Official URL


Side effects are a core part of practical programming. However, they are often hard to reason about, particularly in a concurrent setting. We propose a foundation for reasoning about concurrent side effects using sessions. Primarily, we show that session types are expressive enough to encode an effect system for stateful processes. This is formalised via an effect-preserving encoding of a simple imperative language with an effect system into the pi-calculus with session primitives and session types (into which we encode effect specifications). This result goes towards showing a connection between the expressivity of session types and effect systems. We briefly discuss how the encoding could be extended and applied to reason about and control concurrent side effects.

Item Type: Conference or workshop item (Proceeding)
DOI/Identification number: 10.4204/EPTCS.203.1
Divisions: Faculties > Sciences > School of Computing
Depositing User: Dominic Orchard
Date Deposited: 05 May 2017 15:11 UTC
Last Modified: 29 May 2019 19:01 UTC
Resource URI: (The current URI for this page, for reference purposes)
  • Depositors only (login required):


Downloads per month over past year