Intersections and Unions of Session Types

  title={Intersections and Unions of Session Types},
  author={Cosku Acay and Frank Pfenning},
Prior work has extended the deep, logical connection between the linear sequent calculus and session-typed message-passing concurrent computation with equi-recursive types and a natural notion of subtyping. In this paper, we extend this further by intersection and union types in order to express multiple behavioral properties of processes in a single type. We prove session fidelity and absence of deadlock and illustrate the expressive power of our system with some simple examples. We observe… 

Figures from this paper

Empowering union and intersection types with integrated subtyping

This work presents a simple and composable framework for empowering union and intersection types so that they interact with the rest of the type system in an intuitive and yet still decidable manner.

Session-Typed Concurrent Contracts

This work proposes an analogous notion of concurrent contracts for languages with session-typed message-passing concurrency, which are partial identity processes that monitor the bidirectional communication along channels and raise an alarm if a contract is violated.

Manifestly Phased Communication via Shared Session Types

This work demonstrates that the shared session type setting allows shared sessions to be released at a different type, allowing the encoding of phases in a shared protocol to be manifest in the session type.

Foundations of Session Types: 10 Years Later

The tight gap between the award notification and the deadline for the production of the PPDP’19 proceedings prevent us from providing an exhaustive survey of the related literature and the authors apologize in advance for the conciseness of the report and any relevant omission.



Higher-Order Processes, Functions, and Sessions: A Monadic Integration

This paper uniformly integrating a Curry-Howard interpretation of linear sequent calculus as session-typed processes in a functional language via a linear contextual monad that isolates session-based concurrency through a logical foundation for higher-order session typed processes.

Polarized Substructural Session Types

The deep connection between session-typed concurrency and linear logic is embodied in the language SILL that integrates functional and message-passing concurrent programming. The exacting nature of

Type Assignment for Intersections and Unions in Call-by-Value Languages

A system of type assignment with intersection types, union types, indexed types, and universal and existential dependent types that is sound in a call-by-value functional language is developed and provides a uniform generalization and explanation of several earlier isolated systems.

Cut Reduction in Linear Logic as Asynchronous Session-Typed Communication

A new process assignment from the asynchronous, polyadic pi-calculus to exactly the same proof rules is exhibited, showing that, under this new asynchronous interpretation, cut reductions correspond to a natural asynchronous buffered session semantics, where each session is allocated a separate communication buffer.

Session Types as Intuitionistic Linear Propositions

This paper introduces a type system for the π-calculus that exactly corresponds to the standard sequent calculus proof system for dual intuitionistic linear logic, and provides the first purely logical account of all features of session types.

Tridirectional typechecking

A decidable formulation for this type assignment system based on bidirectional checking is provided, combining type synthesis and analysis following logical principles.

Subtyping for session types in the pi calculus

The syntax, operational semantics and typing rules of an extended pi calculus are formalized, it is proved that typability guarantees absence of run-time communication errors, and the typing rules are transformed into a practical typechecking algorithm.

Behavioral Polymorphism and Parametricity in Session-Based Communication

A logically motivated theory of parametric polymorphism, reminiscent of the Girard-Reynolds polymorphic λ-calculus, but casted in the setting of concurrent processes, which derives non-trivial results about internal protocol independence, a concurrent analogous of representation independence, and non-interference properties of modular, distributed systems.

Corecursion and Non-divergence in Session-Typed Processes

This paper addresses the challenge of ensuring non-divergence in a session-typed \(\pi \)-calculus with general (co)recursion, while still allowing interesting infinite behaviors to be definable, and proves type safety for the framework, implying protocol compliance and global progress of well-typing processes.

Intersection and Union Types: Syntax and Semantics

Type assignment systems with intersection and union types are introduced. Although the subject reduction property with respect to s-reduction does not hold for a natural deduction-like system, we