English
Related papers

Related papers: Session Types with Arithmetic Refinements

200 papers

This paper presents the first formalisation of the precise subtyping relation for asynchronous multiparty sessions. We show that our subtyping relation is sound (i.e., guarantees safe process replacement) and also complete: any extension of…

Logic in Computer Science · Computer Science 2020-10-28 Silvia Ghilezan , Jovanka Pantović , Ivan Prokić , Alceste Scalas , Nobuko Yoshida

We present TLLC which extends the Two-Level Linear dependent type theory (TLL) with session-based concurrency. Equipped with Martin-L\"{o}f style dependency, the session types of TLLC allow protocols to specify properties of communicated…

Programming Languages · Computer Science 2025-10-27 Qiancheng Fu , Hongwei Xi , Ankush Das

For many application-level distributed protocols and parallel algorithms, the set of participants, the number of messages or the interaction structure are only known at run-time. This paper proposes a dependent type theory for multiparty…

Logic in Computer Science · Computer Science 2015-07-01 Pierre-Malo Denielou , Nobuko Yoshida , Andi Bejleri , Raymond Hu

Linear type systems have a long and storied history, but not a clear path forward to integrate with existing languages such as OCaml or Haskell. In this paper, we study a linear type system designed with two crucial properties in mind:…

Programming Languages · Computer Science 2017-11-09 Jean-Philippe Bernardy , Mathieu Boespflug , Ryan R. Newton , Simon Peyton Jones , Arnaud Spiwack

Elaboration-based type class resolution, as found in languages like Haskell, Mercury and PureScript, is generally nondeterministic: there can be multiple ways to satisfy a wanted constraint in terms of global instances and locally given…

Programming Languages · Computer Science 2019-07-16 Gert-Jan Bottu , Ningning Xie , Koar Marntirosian , Tom Schrijvers

Type refinements combine the compositionality of typechecking with the expressivity of program logics, offering a synergistic approach to program verification. In this paper we apply dependent type refinements to SAX, a futures-based…

Programming Languages · Computer Science 2024-02-14 Siva Somayyajula , Frank Pfenning

This paper discusses highly general mechanisms for specifying the refinement of a real-time system as a collection of lower level parallel components that preserve the timing and functional requirements of the upper level specification.…

Logic in Computer Science · Computer Science 2010-02-10 Paul Z. Kolano , Carlo A. Furia , Richard A. Kemmerer , Dino Mandrioli

Type classes are a popular tool for implementing generic algorithms and data structures without loss of efficiency, bridging the gap between parametric and ad-hoc polymorphism. Since their initial development in Haskell, they now feature…

Programming Languages · Computer Science 2025-03-03 Dimi Racordon , Eugene Flesselle , Cao Nguyen Pham

Multiparty Session Types (MPST) provide a type-theoretic foundation for specifying and verifying communication protocols in distributed systems. MPST rely on the notion of global type which specifies the global behaviour and local types,…

Formal Languages and Automata Theory · Computer Science 2025-12-08 Cinzia Di Giusto , Etienne Lozes , Pascal Urso

Side effects are a core part of practical programming. However, they are often hard to reason about, particularly in a concurrent setting. We propose a foundation for reasoning about concurrent side effects using sessions. Primarily, we…

Programming Languages · Computer Science 2016-02-12 Dominic Orchard , Nobuko Yoshida

Toman et al. have proposed a type system for automatic verification of low-level programs, which combines ownership types and refinement types to enable strong updates of refinement types in the presence of pointer aliases. We extend their…

Programming Languages · Computer Science 2023-12-12 Izumi Tanaka , Ken Sakayori , Naoki Kobayashi

We define and study "row polymorphism" for a type system with set-theoretic types, specifically union, intersection, and negation types. We consider record types that embed row variables and define a subtyping relation by interpreting types…

Programming Languages · Computer Science 2025-09-29 Giuseppe Castagna , Loïc Peyrot

Programs written in dynamic languages make heavy use of features --- run-time type tests, value-indexed dictionaries, polymorphism, and higher-order functions --- that are beyond the reach of type systems that employ either purely syntactic…

Programming Languages · Computer Science 2011-09-16 Ravi Chugh , Patrick M. Rondon , Ranjit Jhala

We present a new type system combining refinement types and the expressiveness of intersection type discipline. The use of such features makes it possible to derive more precise types than in the original refinement system. We have been…

Programming Languages · Computer Science 2015-03-18 Mário Pereira , Sandra Alves , Mário Florido

Multiparty session types (MSTs) are a type-based approach to verifying communication protocols, represented as global types in the framework. We present a precise subtyping relation for asynchronous MSTs with communicating state machines…

Formal Languages and Automata Theory · Computer Science 2024-01-30 Elaine Li , Felix Stutz , Thomas Wies

The depth-bounded fragment of the pi-calculus is an expressive class of systems enjoying decidability of some important verification problems. Unfortunately membership of the fragment is undecidable. We propose a novel type system,…

Logic in Computer Science · Computer Science 2015-02-24 Emanuele D'Osualdo , Luke Ong

Session Types offer a typing discipline that allows protocol specifications to be used during type-checking, ensuring that implementations adhere to a given specification. When looking to realise global session types in a dependently typed…

Programming Languages · Computer Science 2019-04-03 Jan de Muijnck-Hughes , Edwin Brady , Wim Vanderbauwhede

Practical checkers based on refinement types use the combination of implicit semantic sub-typing and parametric polymorphism to simplify the specification and automate the verification of sophisticated properties of programs. However, a…

Programming Languages · Computer Science 2022-07-13 Michael Borkowski , Niki Vazou , Ranjit Jhala

A system of session types is introduced as induced by a Curry Howard correspondence applied to Bounded Linear Logic, and then extending the thus obtained type system with probabilistic choices and ground types. The obtained system satisfies…

Logic in Computer Science · Computer Science 2022-07-08 Ugo Dal Lago , Giulia Giusti

Types-and-effects are type systems, which allow one to express general semantic properties and to statically reason about program's execution. They have been widely exploited to specify static analyses, for example to track computational…

Logic in Computer Science · Computer Science 2011-08-12 Letterio Galletta , Giorgio Levi