# Replicate, Reuse, Repeat: Capturing Non-Linear Communication via Session Types and Graded Modal Types

@inproceedings{Marshall2022ReplicateRR,
title={Replicate, Reuse, Repeat: Capturing Non-Linear Communication via Session Types and Graded Modal Types},
author={Daniel Graham Marshall and Dominic A. Orchard},
booktitle={PLACES@ETAPS},
year={2022}
}
• Published in PLACES@ETAPS 23 March 2022
• Computer Science
Session types provide guarantees about concurrent behaviour and can be understood through their correspondence with linear logic, with propositions as sessions and proofs as processes. However, a strictly linear setting is somewhat limiting, since there exist various useful patterns of communication that rely on non-linear behaviours. For example, shared channels provide a way to repeatedly spawn a process with binary communication along a fresh linear session-typed channel. Non-linearity can…
1 Citations
How to Take the Inverse of a Type (Artifact)
• Mathematics
Dagstuhl Artifacts Ser.
• 2022
In functional programming, regular types are a subset of algebraic data types formed from products and sums with their respective units. One can view regular types as forming a commutative semiring

## References

SHOWING 1-10 OF 28 REFERENCES
Linear type theory for asynchronous session types
• Computer Science
Journal of Functional Programming
• 2009
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.
A Semantics for Propositions as Sessions
• Computer Science
ESOP
• 2015
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.
Linear Haskell: practical linearity in a higher-order polymorphic language
• Computer Science
Proc. ACM Program. Lang.
• 2018
This paper studied a linear type system designed with two crucial properties in mind: backwards-compatibility and code reuse across linear and non-linear users of a library, and implemented the type system in ghc, the leading Haskell compiler, and demonstrated two kinds of applications of linear types.
Session Types as Intuitionistic Linear Propositions
• Computer Science
CONCUR
• 2010
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.
Depending on Session-Typed Processes
• Computer Science
FoSSaCS
• 2018
The proposed framework enables us to specify and statically verify protocols where the choice of the next communication action can depend on specific values of received data, and the type theoretic nature of the framework endows us with the ability to internally describe and prove predicates on process behaviours.
Quantitative program reasoning with graded modal types
• Computer Science
Proc. ACM Program. Lang.
• 2019
This work proposes the umbrella notion of graded modal types, encompassing coeffect types and dual notions of type-based effect reasoning via graded monads, and demonstrates this approach via a type system embodied in a fully-fledged functional language called Granule.
π with leftovers: a mechanisation in Agda
• Computer Science
FORTE
• 2021
This work presents the first full mechanisation in Agda of a {\pi}-calculus with linear, graded and shared types, all under the same unified framework, and shows that the type system is stable under substitution and prove subject reduction.
How to Take the Inverse of a Type (Artifact)
• Mathematics
Dagstuhl Artifacts Ser.
• 2022
In functional programming, regular types are a subset of algebraic data types formed from products and sums with their respective units. One can view regular types as forming a commutative semiring
Bounded Linear Types in a Resource Semiring
• Computer Science, Mathematics
ESOP
• 2014
This paper introduces a bounded linear typing discipline on a general notion of resource which can be modeled in a semiring, and provides both a general type-inference procedure and a coherent categorical semantics for this type system.