Sessions as Propositions

  title={Sessions as Propositions},
  author={Sam Lindley and J. Garrett Morris},
Recently, Wadler presented a continuation-passing translation from a session-typed functional language, GV, to a process calculus based on classical linear logic, CP. However, this translation is one-way: CP is more expressive than GV. We propose an extension of GV, called HGV, and give translations showing that it is as expressive as CP. The new translations shed light both on the original translation from GV to CP, and on the limitations in expressiveness of GV. 

Figures from this paper

The Least Must Speak with the Greatest

We extend a propositions-as-types correspondence between linear logic and session types to include recursive sessions. Our extension takes least and greatest fixed points as dual, an idea well-known

Lightweight functional session types

This paper modularly extend GV with practical features, introducing FST (System F with Session Types), an extension of GV, with features including polymorphism, row typing (to support extensible records, variants, and session types), and a subkinding system (to integrate linear and unlimited types).

Label-dependent session types

This work presents a foundational session type calculus with a lightweight operational semantics that fully decouples communication from the introduction and elimination of data and thus features a single communication reduction, which acts as a rendezvous between senders and receivers.

12 Lightweight Functional Session Types

This work discusses the integration of row types and session types in a concurrent functional programming language, and how row types can be used to describe extensibility in session-typed communication.

Linear λμ is CP (more or less)

It is concluded that linear Parigot’s λμ calculus for classical logic is “more or less” CP, in that it equationally corresponds to a polarized version of CP.

A Semantics for Propositions as Sessions

A variant of Wadler’s session-typed core functional language, GV, is presented and a small-step operational semantics for GV is given, which defines two extensions of GV which preserve deadlock-freedom, determinism, and termination.



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.

On the pi-Calculus and Linear Logic

Propositions as sessions

  • P. Wadler
  • Computer Science
    Journal of Functional Programming
  • 2014
The translation formalises for the first time a connection between a standard presentation of session types and linear logic, and shows how a modification to the standard presentation yield a language free from deadlock, where deadlock freedom follows from the correspondence to linear logic.

Linear type theory for asynchronous session types

A multithreaded functional language with session types is defined, which unifies, simplifies and extends previous work, and significantly simplifies session types in the functional setting, clarifies their essential features and provides a secure foundation for language developments such as polymorphism and object-orientation.

Session types revisited

It is shown thatsession types are encodable in ordinary π types, relying on linear and variant types, and the properties of session types are derived as straightforward corollaries, exploiting the corresponding properties of ordinaryπ types.

Linear logic

This column presents an intuitive overview of linear logic, some recent theoretical results, and summarizes several applications oflinear logic to computer science.

Proofs as Processes

On the Expressive Power of Programming Languages

A formal notion of expressiveness is developed and its properties are investigated to demonstrate the theory's closeness to published intuitions on expressiveness, and the expressive power of several extensions of functional languages is analyzed.