English
Related papers

Related papers: Relating Functional and Imperative Session Types

200 papers

Pattern-matching programming is an example of a rule-based programming style developed in functional languages. This programming style is intensively used in dialects of ML but is restricted to algebraic data-types. This restriction limits…

Programming Languages · Computer Science 2009-12-25 Julien Cohen

Session types are used to describe communication protocols in distributed systems and, as usual in type theories, session subtyping characterizes substitutability of the communicating processes. We investigate the (un)decidability of…

Programming Languages · Computer Science 2017-07-20 Mario Bravetti , Marco Carbone , Gianluigi Zavattaro

We strive to use session type technology to prove behavioural properties of fault-tolerant distributed algorithms. Session types are designed to abstractly capture the structure of (even multi-party) communication protocols. The goal of…

Logic in Computer Science · Computer Science 2017-05-05 Manuel Adameit , Kirstin Peters , Uwe Nestmann

The defunctionalization translation that eliminates higher-order functions from programs forms a key part of many compilers. However, defunctionalization for dependently-typed languages has not been formally studied. We present the first…

Programming Languages · Computer Science 2023-04-11 Yulong Huang , Jeremy Yallop

Subtyping in concurrency has been extensively studied since early 1990s as one of the most interesting issues in type theory. The correctness of subtyping relations has been usually provided as the soundness for type safety. The converse…

Logic in Computer Science · Computer Science 2019-03-14 Tzu-chun Chen , Mariangiola Dezani-Ciancaglini , Alceste Scalas , Nobuko Yoshida

We formally define an elegant multi-paradigm unification of Functional Reactive Programming, Actor Systems, and Object-Oriented Programming. This enables an intuitive form of declarative programming, harvesting the power of concurrency…

Programming Languages · Computer Science 2021-01-11 N. Webster , M. Servetto

We propose a context-dependent model to map utterances within an interaction to executable formal queries. To incorporate interaction history, the model maintains an interaction-level encoder that updates after each turn, and can copy…

Computation and Language · Computer Science 2018-04-27 Alane Suhr , Srinivasan Iyer , Yoav Artzi

Term rewriting systems have a simple syntax and semantics and facilitate proofs of correctness. However, they are not as popular in industry or academia as imperative languages. We define a term rewriting based abstract programming language…

Programming Languages · Computer Science 2020-07-08 David Plaisted , Lee Barnett

Classic pipeline models for task-oriented dialogue system require explicit modeling the dialogue states and hand-crafted action spaces to query a domain-specific knowledge base. Conversely, sequence-to-sequence models learn to map dialogue…

Computation and Language · Computer Science 2018-06-13 Haoyang Wen , Yijia Liu , Wanxiang Che , Libo Qin , Ting Liu

We show how systems of sessions types can enforce interactions to be bounded for all typable processes. The type system we propose is based on Lafont's soft linear logic and is strongly inspired by recent works about session types as…

Logic in Computer Science · Computer Science 2012-01-04 Ugo Dal Lago , Paolo Di Giamberardino

Capture calculus has recently been proposed as a solution to effect checking, achieved by tracking the captured references of terms in the types. Boxes, along with the box and unbox operations, are a crucial construct in capture calculus,…

Programming Languages · Computer Science 2023-06-13 Yichen Xu , Martin Odersky

In functional programming, point-free relation calculi have been fruitful for general theories of program construction, but for specific applications pointwise expressions can be more convenient and comprehensible. In imperative…

Programming Languages · Computer Science 2015-10-20 David A. Naumann

The structured representation for semantic parsing in task-oriented assistant systems is geared towards simple understanding of one-turn queries. Due to the limitations of the representation, the session-based properties such as…

Type isomorphism is useful for retrieving library components, since a function in a library can have a type different from, but isomorphic to, the one expected by the user. Moreover type isomorphism gives for free the coercion required to…

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

Proof assistants and programming languages based on type theories usually come in two flavours: one is based on the standard natural deduction presentation of type theory and involves eliminators, while the other provides a syntax in…

Logic in Computer Science · Computer Science 2015-07-30 Nicolas Guenot , Daniel Gustafsson

The notion of subtyping has gained an important role both in theoretical and applicative domains: in lambda and concurrent calculi as well as in programming languages. The soundness and the completeness, together referred to as the…

Logic in Computer Science · Computer Science 2016-02-12 Mariangiola Dezani-Ciancaglini , Silvia Ghilezan , Svetlana Jakšić , Jovanka Pantović , Nobuko Yoshida

\emph{Session types} have proved viable in expressing and verifying the protocols of message-passing systems. While message passing is a dominant concurrency paradigm in practice, real world software is written without session types. A…

Programming Languages · Computer Science 2022-06-01 Ruo Fei Chen , Stephanie Balzer , Bernardo Toninho

Type-level programming is an increasingly popular way to obtain additional type safety. Unfortunately, it remains a second-class citizen in the majority of industrially-used programming languages. We propose a new dependently-typed system…

Programming Languages · Computer Science 2020-11-17 Georg Stefan Schmid , Olivier Blanvillain , Jad Hamza , Viktor Kunčak

Languages may encode similar meanings using different sentence structures. This makes it a challenge to provide a single set of formal rules that can derive meanings from sentences in many languages at once. To overcome the challenge, we…

Computation and Language · Computer Science 2024-03-05 Laurestine Bradford , Timothy John O'Donnell , Siva Reddy

We present a type theory combining both linearity and dependency by stratifying typing rules into a level for logics and a level for programs. The distinction between logics and programs decouples their semantics, allowing the type system…

Programming Languages · Computer Science 2025-10-08 Qiancheng Fu , Hongwei Xi