English
Related papers

Related papers: Local Type Inference for Context-Free Session Type…

200 papers

We present a type checking algorithm for establishing a session-based discipline in the pi calculus of Milner, Parrow and Walker. Our session types are qualified as linear or unrestricted. Linearly typed communication channels are…

Programming Languages · Computer Science 2011-08-12 Marco Giunti

Context-Oriented Programming (COP) is a programming paradigm to encourage modularization of context-dependent software. Key features of COP are layers---modules to describe context-dependent behavioral variations of a software system---and…

Programming Languages · Computer Science 2019-09-04 Hiroaki Inoue , Atsushi Igarashi

A type system combining type application, constants as types, union types (associative, commutative and idempotent) and recursive types has recently been proposed for statically typing path polymorphism, the ability to define functions that…

Logic in Computer Science · Computer Science 2020-06-30 Juan Edi , Andrés Viso , Eduardo Bonelli

Type theories with higher-order subtyping or singleton types are examples of systems where computation rules for variables are affected by type information in the context. A complication for these systems is that bounds declared in the…

Logic in Computer Science · Computer Science 2011-01-25 Adriana Compagnoni , Healfdene Goguen

Session types provide a principled approach to typed communication protocols that guarantee type safety and protocol fidelity. Formalizations of session-typed communication are typically based on process calculi, concurrent lambda calculi,…

Programming Languages · Computer Science 2023-08-15 Hannes Saffrich , Peter Thiemann

We present a type system that combines, in a controlled way, first-order polymorphism with intersectiontypes, union types, and subtyping, and prove its safety. We then define a type reconstruction algorithm that issound and terminating.…

Programming Languages · Computer Science 2023-11-20 Giuseppe Castagna , Mickaël Laurent , Kim Nguyen

As gradual typing becomes increasingly popular in languages like Python and TypeScript, there is a growing need to infer type annotations automatically. While type annotations help with tasks like code completion and static error catching,…

Programming Languages · Computer Science 2020-05-06 Jiayi Wei , Maruth Goyal , Greg Durrett , Isil Dillig

We revisit occurrence typing, a technique to refine the type of variables occurring in type-cases and, thus, capturesome programming patterns used in untyped languages. Although occurrence typing was tied from its inceptionto set-theoretic…

Programming Languages · Computer Science 2022-02-25 Giuseppe Castagna , Victor Lanvin , Mickaël Laurent , Kim Nguyen

Programs are more distributed and concurrent today than ever before, and structural communications are at the core. Constructing and debugging such programs are hard due to the lack of formal specification/verification of concurrency. This…

Programming Languages · Computer Science 2018-08-02 Hanwen Wu , Hongwei Xi

The problem of entity-typing has been studied predominantly in supervised learning fashion, mostly with task-specific annotations (for coarse types) and sometimes with distant supervision (for fine types). While such approaches have strong…

Computation and Language · Computer Science 2019-07-09 Ben Zhou , Daniel Khashabi , Chen-Tse Tsai , Dan Roth

First-order resolution has been used for type inference for many years, including in Hindley- Milner type inference, type-classes, and constrained data types. Dependent types are a new trend in functional languages. In this paper, we show…

Logic in Computer Science · Computer Science 2018-05-01 František Farka , Ekaterina Komendantskya , Kevin Hammond

Relating the specification of the global communication behavior of a distributed system and the specifications of the local communication behavior of each of its nodes/peers (e.g., to check if the former is realizable by the latter under…

Logic in Computer Science · Computer Science 2014-07-17 Luís Caires , Jorge A. Pérez

Classifier-Free Guidance (CFG) has recently emerged in text-to-image generation as a lightweight technique to encourage prompt-adherence in generations. In this work, we demonstrate that CFG can be used broadly as an inference-time…

Computation and Language · Computer Science 2023-07-03 Guillaume Sanchez , Honglu Fan , Alexander Spangher , Elad Levi , Pawan Sasanka Ammanamanchi , Stella Biderman

Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its scalability (unlike Damas-Milner type inference, bidirectional typing remains decidable even for very…

Programming Languages · Computer Science 2020-08-25 Jana Dunfield , Neelakantan R. Krishnaswami

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

We demonstrate a method to infer polymorphically principal and subtyping-minimal types for an ML-like core language by assigning ranges within a lattice to type variables. We demonstrate the termination and completeness of this algorithm,…

Programming Languages · Computer Science 2013-08-14 Eli Gottlieb

The query suggestion or auto-completion mechanisms help users to type less while interacting with a search engine. A basic approach that ranks suggestions according to their frequency in the query logs is suboptimal. Firstly, many candidate…

Information Retrieval · Computer Science 2013-12-06 Eugene Kharitonov , Craig Macdonald , Pavel Serdyukov , Iadh Ounis

The scenario-based specification of a large distributed system is usually naturally decomposed into various modules. The integration of specification modules contrasts to the parallel composition of program components, and includes various…

Programming Languages · Computer Science 2012-10-09 Guoxin Su , Mingsheng Ying , Chengqi Zhang

We address the design of distributed systems with synchronous dataflow programming languages. As modular design entails handling both architectural and functional modularity, our first contribution is to extend an existing synchronous…

Programming Languages · Computer Science 2012-11-13 Gwenaël Delaval , Alain Girault , Marc Pouzet

We provide an algorithm for deciding simple grammar bisimilarity whose complexity is polynomial in the valuation of the grammar (maximum seminorm among production rules). Since the valuation is at most exponential in the size of the…

Formal Languages and Automata Theory · Computer Science 2026-05-11 Diogo Poças , Gil Silva , Vasco T. Vasconcelos