English
Related papers

Related papers: Intersections and Unions of Session Types

200 papers

This paper investigates type isomorphism in a lambda-calculus with intersection and union types. It is known that in lambda-calculus, the isomorphism between two types is realised by a pair of terms inverse one each other. Notably,…

Logic in Computer Science · Computer Science 2015-08-12 Mario Coppo , Mariangiola Dezani-Ciancaglini , Ines Margaria , Maddalena Zacchi

We show how (well-established) type systems based on non-idempotent intersection types can be extended to characterize termination properties of functional programming languages with pattern matching features. To model such programming…

Programming Languages · Computer Science 2024-08-21 Sandra Alves , Delia Kesner , Miguel Ramos

Termination is a central property in sequential programming models: a term is terminating if all its reduction sequences are finite. Termination is also important in concurrency in general, and for message-passing programs in particular. A…

Logic in Computer Science · Computer Science 2023-08-03 Joseph W. N. Paulus , Jorge A. Pérez , Daniele Nantes-Sobrinho

Initiated by Abramsky [1994], the Proofs as Processes agenda is to establish a solid foundation for the study of concurrent languages, by researching the connection between linear logic and the $\pi$-calculus. To date, Proofs as Processes…

Logic in Computer Science · Computer Science 2021-06-23 Fabrizio Montesi , Marco Peressotti

We propose a type system for reasoning on protocol conformance and deadlock freedom in networks of processes that communicate through unordered mailboxes. We model these networks in the mailbox calculus, a mild extension of the asynchronous…

Programming Languages · Computer Science 2018-01-15 Ugo de'Liguoro , Luca Padovani

Session types offer a type-based discipline for enforcing communication protocols in distributed programming. We have previously formalized simple session types in the setting of multi-threaded $\lambda$-calculus with linear types. In this…

Programming Languages · Computer Science 2017-04-25 Hanwen Wu , Hongwei Xi

Interpolation is an important property of classical and many non-classical logics that has been shown to have interesting applications in computer science and AI. Here we study the Interpolation Property for the the non-monotonic system of…

Logic in Computer Science · Computer Science 2014-01-17 Dov Gabbay , David Pearce , Agustín Valverde

We present Concurrent GV (CGV), a functional calculus with message-passing concurrency governed by session types. With respect to prior calculi, CGV has increased support for concurrent evaluation and for cyclic network topologies. The…

Logic in Computer Science · Computer Science 2022-09-15 Bas van den Heuvel , Jorge A. Pérez

Union and intersection types are a staple of gradually typed language such as TypeScript. While it's long been recognized that union and intersection types are difficult to verify statically, it may appear at first that the dynamic part of…

Programming Languages · Computer Science 2022-04-01 Teodoro Freund , Yann Hamdaoui , Arnaud Spiwack

Session types provide a typing discipline for message-passing systems. However, their theory often assumes an ideal world: one in which everything is reliable and without failures. Yet this is in stark contrast with distributed systems in…

Logic in Computer Science · Computer Science 2025-04-23 Adam D. Barwell , Ping Hou , Nobuko Yoshida , Fangyi Zhou

We study polymorphic type assignment systems for untyped lambda-calculi with effects, based on Moggi's monadic approach. Moving from the abstract definition of monads, we introduce a version of the call-by-value computational…

Logic in Computer Science · Computer Science 2020-02-10 Ugo de'Liguoro , Riccardo Treglia

We present a unifying framework for type systems for process calculi. The core of the system provides an accurate correspondence between essentially functional processes and linear logic proofs; fragments of this system correspond to…

Logic in Computer Science · Computer Science 2015-05-29 Emmanuel Beffara

Session types express and enforce safe communication in concurrent message-passing systems by statically capturing the interaction protocols between processes in the type. Recent works extend session types with arithmetic refinements, which…

Programming Languages · Computer Science 2026-02-09 Toby Ueno , Ankush Das

We present Concurrent GV (CGV), a functional calculus with message-passing concurrency governed by session types. With respect to prior calculi, CGV has increased support for concurrent evaluation and for cyclic network topologies. The…

Logic in Computer Science · Computer Science 2022-10-07 Bas van den Heuvel , Jorge A. Pérez

We introduce session automata, an automata model to process data words, i.e., words over an infinite alphabet. Session automata support the notion of fresh data values, which are well suited for modeling protocols in which sessions using…

Logic in Computer Science · Computer Science 2015-07-01 Benedikt Bollig , Peter Habermehl , Martin Leucker , Benjamin Monmege

Distributed systems have become increasingly prevalent in the software industry. Due to their intrinsic complexity, much research has focused on the verification of their behaviour. An active research line is around behaviour models that…

Programming Languages · Computer Science 2026-04-09 Francisco Parrinha , João Mota , António Ravara

Multiparty session types are a type system that can ensure the safety and liveness of distributed peers via the global specification of their interactions. To construct a global specification from a set of distributed uncontrolled…

Formal Languages and Automata Theory · Computer Science 2013-04-09 Pierre-Malo Deniélou , Nobuko Yoshida

Session types are used to describe and structure interactions between independent processes in distributed systems. Higher-order types are needed in order to properly structure delegation of responsibility between processes. In this paper…

Logic in Computer Science · Computer Science 2019-03-14 Giovanni Bernardi , Matthew Hennessy

This paper introduces a new theory of multiparty session types based on symmetric sum types, by which we can type non-deterministic orchestration choice behaviours. While the original branching type in session types can represent a choice…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-12-01 Lasse Nielsen , Nobuko Yoshida , Kohei Honda

We present a unified framework for the declarative analysis of structured communications. By relying on a (timed) concurrent constraint programming language, we show that in addition to the usual operational techniques from process calculi,…

Programming Languages · Computer Science 2010-02-05 Hugo A. López , Carlos Olarte , Jorge A. Pérez