English
Related papers

Related papers: Sound and Complete Bidirectional Typechecking for …

200 papers

Dependent Object Types (DOT) is intended to be a core calculus for modelling Scala. Its distinguishing feature is abstract type members, fields in objects that hold types rather than values. Proving soundness of DOT has been surprisingly…

Programming Languages · Computer Science 2017-06-14 Marianna Rapoport , Ifaz Kabir , Paul He , Ondřej Lhoták

Sound exhaustiveness checking of pattern-matching is an essential feature of functional programming languages, and OCaml supports it for GADTs. However this check is incomplete, in that it may fail to detect that a pattern can match no…

Programming Languages · Computer Science 2017-02-09 Jacques Garrigue , Jacques Le Normand

XML database query languages such as XQuery employ regular expression types with structural subtyping. Subtyping systems typically have two presentations, which should be equivalent: a declarative version in which the subsumption rule may…

Programming Languages · Computer Science 2008-01-07 James Cheney

We classify programming languages according to evaluation order: each language fixes one evaluation order as the default, making it transparent to program in that evaluation order, and troublesome to program in the other. This paper…

Programming Languages · Computer Science 2020-08-25 Jana Dunfield

When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of explicit type annotations in typical scripting languages forces programmers to must (re)discover critical pieces of design information…

Programming Languages · Computer Science 2011-06-15 Sam Tobin-Hochstadt , Matthias Felleisen

We address the problem of local type inference for a language based on System F with context-free session types. We present an algorithm that leverages the bidirectional type checking approach to propagate type information, enabling first…

Programming Languages · Computer Science 2025-05-28 Bernardo Almeida , Andreia Mordido , Vasco T. Vasconcelos

We present a soundness theorem for a dependent type theory with context constants with respect to an indexed category of (finite, abstract) simplical complexes. The point of interest for computer science is that this category can be seen to…

Logic · Mathematics 2020-07-08 Henrik Forssell , Håkon Robbestad Gylterud , David I. Spivak

We present an approach to support partiality in type-level computation without compromising expressiveness or type safety. Existing frameworks for type-level computation either require totality or implicitly assume it. For example, type…

Programming Languages · Computer Science 2017-06-30 J. Garrett Morris , Richard Eisenberg

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

Side-channel attacks, which are capable of breaking secrecy via side-channel information, pose a growing threat to the implementation of cryptographic algorithms. Masking is an effective countermeasure against side-channel attacks by…

Cryptography and Security · Computer Science 2020-06-17 Pengfei Gao , Hongyi Xie , Fu Song , Taolue Chen

Type classes are one of Haskell's most popular features and extend its type system with ad-hoc polymorphism. Since their conception, there were useful features that could not be offered because of the desire to offer two correctness…

Programming Languages · Computer Science 2018-07-31 Thomas Winant , Dominique Devriese

Normal-form bisimilarity is a simple, easy-to-use behavioral equivalence that relates terms in $\lambda$-calculi by decomposing their normal forms into bisimilar subterms. Moreover, it typically allows for powerful up-to techniques, such as…

Logic in Computer Science · Computer Science 2023-06-22 Dariusz Biernacki , Serguei Lenglet , Piotr Polesiuk

The aim of this paper is to refine and extend proposals by Sozeau and Tabareau and by Voevodsky for universe polymorphism in type theory. In those systems judgments can depend on explicit constraints between universe levels. We here present…

Logic in Computer Science · Computer Science 2024-10-29 Marc Bezem , Thierry Coquand , Peter Dybjer , Martín Escardó

A key part of any dependent type-checker is the method for checking whether two types are equal. A common claim is that syntax-directed equality is more performant, although type-directed equality is more expressive. However, this claim is…

Programming Languages · Computer Science 2025-09-18 Chester J. F. Gould , William J. Bowman

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

In type theory, coinductive types are used to represent processes, and are thus crucial for the formal verification of non-terminating reactive programs in proof assistants based on type theory, such as Coq and Agda. Currently, programming…

Logic in Computer Science · Computer Science 2018-11-01 Rasmus Ejlers Møgelberg , Niccolò Veltri

The paper is a contribution both to the theoretical foundations and to the actual construction of efficient automatizable proof procedures for non-classical logics. We focus here on the case of finite-valued logics, and exhibit: (i) a…

Logic in Computer Science · Computer Science 2014-08-19 Carlos Caleiro , João Marcos , Marco Volpe

Many formal languages of contemporary mathematical music theory -- particularly those employing category theory -- are powerful but cumbersome: ideas that are conceptually simple frequently require expression through elaborate categorical…

Category Theory · Mathematics 2025-12-05 Drew Flieder

System F, the polymorphic lambda calculus, features the principle of impredicativity: polymorphic types may be (explicitly) instantiated at other types, enabling many powerful idioms such as Church encoding and data abstraction.…

Programming Languages · Computer Science 2022-03-04 Henry Mercer , Cameron Ramsay , Neel Krishnaswami

Type inference is an application domain that is a natural fit for logic programming (LP). LP systems natively support unification, which serves as a basic building block of typical type inference algorithms. In particular, polymorphic type…

Programming Languages · Computer Science 2017-09-13 Ki Yung Ahn