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 contro...
Abstract. Session types provide a static guarantee that concurrent pro-grams respect communication p...
In prior work we proposed an interpretation of intuitionistic linear logic propositions as session t...
Session types are a formalism to model structured communication-based programming. A session type de...
Side effects are a core part of practical programming. However, they are often hard to reason about,...
Effect and session type systems are two expressive behavioural type systems. The former is usually d...
Effect and session type systems are two expressive behavioural type systems. The former is usually d...
This dissertation investigates different formalisms, in the form of programming language calculi, th...
Abstract. Session types are types for distributed communicating pro-cesses. They were born from proc...
The emergence of propositions-as-sessions, a Curry-Howard correspondence between propositions of Lin...
Session-based concurrency is a type-based approach to the analysis of message-passing programs. Thes...
We define session types as projections of the behavior of processes with respect to the operations p...
Session-based concurrency is a type-based approach to the analy-sis of communication-intensive syste...
A key idea in object-oriented programming is that objects encapsulate state and interact with each o...
AbstractHigh-level specification of patterns of communications such as protocols can be modeled eleg...
Behavioural type systems ensure more than the usual safety guarantees of static analysis. They are b...
Abstract. Session types provide a static guarantee that concurrent pro-grams respect communication p...
In prior work we proposed an interpretation of intuitionistic linear logic propositions as session t...
Session types are a formalism to model structured communication-based programming. A session type de...
Side effects are a core part of practical programming. However, they are often hard to reason about,...
Effect and session type systems are two expressive behavioural type systems. The former is usually d...
Effect and session type systems are two expressive behavioural type systems. The former is usually d...
This dissertation investigates different formalisms, in the form of programming language calculi, th...
Abstract. Session types are types for distributed communicating pro-cesses. They were born from proc...
The emergence of propositions-as-sessions, a Curry-Howard correspondence between propositions of Lin...
Session-based concurrency is a type-based approach to the analysis of message-passing programs. Thes...
We define session types as projections of the behavior of processes with respect to the operations p...
Session-based concurrency is a type-based approach to the analy-sis of communication-intensive syste...
A key idea in object-oriented programming is that objects encapsulate state and interact with each o...
AbstractHigh-level specification of patterns of communications such as protocols can be modeled eleg...
Behavioural type systems ensure more than the usual safety guarantees of static analysis. They are b...
Abstract. Session types provide a static guarantee that concurrent pro-grams respect communication p...
In prior work we proposed an interpretation of intuitionistic linear logic propositions as session t...
Session types are a formalism to model structured communication-based programming. A session type de...