English
Related papers

Related papers: Call-by-name Gradual Type Theory

200 papers

The study of homotopy theoretic phenomena in the language of type theory is sometimes loosely called `synthetic homotopy theory'. Homotopy theory in type theory is only one of the many aspects of homotopy type theory, which also includes…

Logic · Mathematics 2019-06-25 Egbert Rijke

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

Polymorphic variants are a useful feature of the OCaml language whose current definition and implementation rely on kinding constraints to simulate a subtyping relation via unification. This yields an awkward formalization and results in a…

Programming Languages · Computer Science 2016-07-06 Giuseppe Castagna , Tommaso Petrucciani , Kim Nguyen

Using a dependently typed host language, we give a well scoped-and-typed by construction presentation of a minimal two level simply typed calculus with a static and a dynamic stage. The staging function partially evaluating the part of a…

Programming Languages · Computer Science 2024-01-12 Guillaume Allais

A hierarchy of type universes is a rudimentary ingredient in the type theories of many proof assistants to prevent the logical inconsistency resulting from combining dependent functions and the type-in-type rule. In this work, we argue that…

Programming Languages · Computer Science 2024-04-09 Jonathan Chan , Stephanie Weirich

Although computational complexity is a fundamental aspect of program behavior, it is often at odds with common type theoretic principles such as function extensionality, which identifies all functions with the same $\textit{input-output}$…

Programming Languages · Computer Science 2020-11-11 Yue Niu , Robert Harper

Type classes in Haskell are used to implement ad-hoc polymorphism, i.e. a way to ensure both to the programmer and the compiler that a set of functions are defined for a specific data type. All instances of such type classes are expected to…

Programming Languages · Computer Science 2018-08-20 Andreas Arvidsson , Moa Johansson , Robin Touche

We develop formal theories of conversion for Church-style lambda-terms with Pi-types in first-order syntax using one-sorted variables names and Stoughton's multiple substitutions. We then formalize the Pure Type Systems along some…

Logic in Computer Science · Computer Science 2025-10-15 Sebastián Urciuoli

We define an extension of lambda-calculus with dependents types that enables us to encode transparent and opaque probabilistic programs and prove a strong normalisation result for it by a reducibility technique. While transparent…

Logic in Computer Science · Computer Science 2026-03-10 Francesco A. Genco

Due to the rise of machine learning, Python is an increasingly popular programming language. Python, however, is dynamically typed. Dynamic typing has shown to have drawbacks when a project grows, while at the same time it improves…

Software Engineering · Computer Science 2019-12-03 Casper Boone , Niels de Bruin , Arjan Langerak , Fabian Stelmach

In the theory of programming languages, type inference is the process of inferring the type of an expression automatically, often making use of information from the context in which the expression appears. Such mechanisms turn out to be…

Logic in Computer Science · Computer Science 2012-05-10 Jeremy Avigad

Strictness analysis is critical to efficient implementation of languages with non-strict evaluation, mitigating much of the performance overhead of laziness. However, reasoning about strictness at the source level can be challenging and…

Programming Languages · Computer Science 2026-01-12 Daniel Sainati , Joseph W. Cutler , Benjamin C. Pierce , Stephanie Weirich

Traditional category theory is typically based on set-theoretic principles and ideas, which are often non-constructive. An alternative approach to formalizing category theory is to use E-category theory, where hom sets become setoids. Our…

Logic in Computer Science · Computer Science 2025-05-13 David G. Berry , Marcelo P. Fiore

Inductive and coinductive types are commonly construed as ontological (Church-style) types, denoting canonical data-sets such as natural numbers, lists, and streams. For various purposes, notably the study of programs in the context of…

Logic in Computer Science · Computer Science 2015-07-01 Daniel M Leivant

Pure type systems arise as a generalisation of simply typed lambda calculus. The contemporary development of mathematics has renewed the interest in type theories, as they are not just the object of mere historical research, but have an…

Logic · Mathematics 2014-11-07 Nino Guallart

In existing simulation proof techniques, a single step in a lower-level specification may be simulated by an extended execution fragment in a higher-level one. As a result, it is cumbersome to mechanize these techniques using general…

Logic in Computer Science · Computer Science 2018-12-31 W. O. D. Griffioen , F. W. Vaandrager

Constructive type theory combines logic and programming in one language. This is useful both for reasoning about programs written in type theory, as well as for reasoning about other programming languages inside type theory. It is…

Programming Languages · Computer Science 2024-10-25 Philipp Jan Andries Stassen , Rasmus Ejlers Møgelberg , Maaike Zwart , Alejandro Aguirre , Lars Birkedal

We introduce the calculus of Classical Transitions (CT), which extends the research line on the relationship between linear logic and processes to labelled transitions. The key twist from previous work is registering parallelism in typing…

Logic in Computer Science · Computer Science 2018-03-06 Fabrizio Montesi , Marco Peressotti

We introduce some classes of genuine higher categories in homotopy type theory, defined as well-behaved subcategories of the category of types. We give several examples, and some techniques for showing other things are not examples. While…

Category Theory · Mathematics 2013-11-11 James Cranch

Category theory is the language of homological algebra, allowing us to state broadly applicable theorems and results without needing to specify the details for every instance of analogous objects. However, authors often stray from the realm…

General Mathematics · Mathematics 2025-02-04 Skyler Marks