Effect and session type systems are two expressive behavioural type systems. The former is usually developed in the context of the lambda-calculus and its variants, the latter for the pi-calculus. In this paper we explore their relative expressive power. Firstly, we give an embedding from PCF, augmented with a parameterised effect system, into a session-typed pi-calculus (session calculus), showing that session types are powerful enough to express effects. Secondly, we give a reverse embedding, from the session calculus back into PCF, by instantiating PCF with concurrency primitives and its effect system with a session-like effect algebra; effect systems are powerful enough to express sessions. The embedding of session types into an effect ...
Session types provide a static guarantee that concurrent programs respect communication protocols. R...
High-level specification of patterns of communications such as protocols can be modeled elegantly by...
Session types are a formalism used to model structured communication-based programming. A binary ses...
Effect and session type systems are two expressive behavioural type systems. The former is usually d...
Side effects are a core part of practical programming. However, they are often hard to reason about,...
To celebrate the 30th edition of EXPRESS and the 20th edition of SOS we overview how session types c...
The study of expressiveness of concurrent processes via session types opens a connection between lin...
This dissertation investigates different formalisms, in the form of programming language calculi, th...
This dissertation investigates different formalisms, in the form of programming language calculi, t...
Session Types allow plans of conversation between two concurrent processes to be treated as types. T...
Type systems with parametric polymorphism can encode a significant pro- portion of the information c...
Bisimulation theory is a co-inductive tool used as a tractable method for studying equivalence rela...
This work exploits the logical foundation of session types to determine what kind of type discipline...
Game semantics and session types are two formalisations of the same concept: message-passing open pr...
By integrating constructs from the lambda-calculus and the pi-calculus, in higher order process calc...
Session types provide a static guarantee that concurrent programs respect communication protocols. R...
High-level specification of patterns of communications such as protocols can be modeled elegantly by...
Session types are a formalism used to model structured communication-based programming. A binary ses...
Effect and session type systems are two expressive behavioural type systems. The former is usually d...
Side effects are a core part of practical programming. However, they are often hard to reason about,...
To celebrate the 30th edition of EXPRESS and the 20th edition of SOS we overview how session types c...
The study of expressiveness of concurrent processes via session types opens a connection between lin...
This dissertation investigates different formalisms, in the form of programming language calculi, th...
This dissertation investigates different formalisms, in the form of programming language calculi, t...
Session Types allow plans of conversation between two concurrent processes to be treated as types. T...
Type systems with parametric polymorphism can encode a significant pro- portion of the information c...
Bisimulation theory is a co-inductive tool used as a tractable method for studying equivalence rela...
This work exploits the logical foundation of session types to determine what kind of type discipline...
Game semantics and session types are two formalisations of the same concept: message-passing open pr...
By integrating constructs from the lambda-calculus and the pi-calculus, in higher order process calc...
Session types provide a static guarantee that concurrent programs respect communication protocols. R...
High-level specification of patterns of communications such as protocols can be modeled elegantly by...
Session types are a formalism used to model structured communication-based programming. A binary ses...