English
Related papers

Related papers: Typing Classes and Mixins with Intersection Types

200 papers

We study a family of distributors-induced bicategorical models of lambda-calculus, proving that they can be syntactically presented via intersection type systems. We first introduce a class of 2-monads whose algebras are monoidal categories…

Logic in Computer Science · Computer Science 2021-05-06 Federico Olimpieri

Dependently typed languages such as Coq are used to specify and verify the full functional correctness of source programs. Type-preserving compilation can be used to preserve these specifications and proofs of correctness through…

Programming Languages · Computer Science 2018-08-14 William J. Bowman , Amal Ahmed

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

We present PolySing#, a calculus that models process interaction based on copyless message passing, in the style of Singularity OS. We equip the calculus with a type system that accommodates polymorphic endpoint types, which are a variant…

Programming Languages · Computer Science 2011-08-03 Viviana Bono , Luca Padovani

Working in a variant of the intersection type assignment system of Coppo, Dezani-Ciancaglini and Veneri [1981], we prove several facts about sets of terms having a given intersection type. Our main result is that every strongly normalizing…

Logic in Computer Science · Computer Science 2021-05-11 Richard Statman , Andrew Polonsky

Dependently typed lambda calculi such as the Logical Framework (LF) are capable of representing relationships between terms through types. By exploiting the "formulas-as-types" notion, such calculi can also encode the correspondence between…

Logic in Computer Science · Computer Science 2010-07-07 Zachary Snow , David Baelde , Gopalan Nadathur

This paper deals with retraction - intended as isomorphic embedding - in intersection types building left and right inverses as terms of a lambda calculus with a bottom constant. The main result is a necessary and sufficient condition two…

Logic in Computer Science · Computer Science 2017-02-09 Mario Coppo , Mariangiola Dezani-Ciancaglini , Alejandro Díaz-Caro , Ines Margaria , Maddalena Zacchi

We introduce two-sided type systems, which are sequent calculi for typing formulas. Two-sided type systems allow for hypothetical reasoning over the typing of compound program expressions, and the refutation of typing formulas. By…

Programming Languages · Computer Science 2023-10-23 Steven Ramsay , Charlie Walpole

The lambda calculus with constructors is an extension of the lambda calculus with variadic constructors. It decomposes the pattern-matching a la ML into a case analysis on constants and a commutation rule between case and application…

Logic in Computer Science · Computer Science 2012-03-06 Barbara Petit

We present the first session typing system guaranteeing request-response liveness properties for possibly non-terminating communicating processes. The types augment the branch and select types of the standard binary session types with a set…

Logic in Computer Science · Computer Science 2017-01-11 Søren Debois , Thomas Hildebrandt , Tijs Slaats , Nobuko Yoshida

We extend the classical notion of solvability to a lambda-calculus equipped with pattern matching. We prove that solvability can be characterized by means of typability and inhabitation in an intersection type system P based on…

Logic in Computer Science · Computer Science 2023-06-22 Antonio Bucciarelli , Delia Kesner , Simona Ronchi Della Rocca

In this paper we define intersection and union type assignment for Parigot's calculus lambda-mu. We show that this notion is complete (i.e. closed under subject-expansion), and show also that it is sound (i.e. closed under…

Logic in Computer Science · Computer Science 2011-01-25 Steffen van Bakel

Just as the $\lambda$-calculus uses three primitives (abstraction, application, variable) as the foundation of functional programming, inheritance-calculus uses three primitives (record, definition, inheritance) as the foundation of…

Programming Languages · Computer Science 2026-05-27 Bo Yang

The introduction of first-class type classes in the Coq system calls for re-examination of the basic interfaces used for mathematical formalization in type theory. We present a new set of type classes for mathematics and take full advantage…

Logic in Computer Science · Computer Science 2011-02-08 Bas Spitters , Eelis van der Weegen

Calculi with control operators have been studied as extensions of simple type theory. Real programming languages contain datatypes, so to really understand control operators, one should also include these in the calculus. As a first step in…

Logic in Computer Science · Computer Science 2012-11-07 Herman Geuvers , Robbert Krebbers , James McKinna

Linear and substructural types are powerful tools, but adding them to standard functional programming languages often means introducing extra annotations and typing machinery. We propose a lightweight substructural type system design that…

Programming Languages · Computer Science 2015-02-18 Edward Gan , Jesse A. Tov , Greg Morrisett

We prove the undecidability of the third order pattern matching problem in typed lambda-calculi with dependent types and in those with type constructors by reducing the second order unification problem to them.

Logic in Computer Science · Computer Science 2023-09-22 Gilles Dowek

Type systems hide data that is captured by function closures in function types. In most cases this is a beneficial design that favors simplicity and compositionality. However, some applications require explicit information about the data…

Programming Languages · Computer Science 2013-12-03 Gabriel Scherer , Jan Hoffmann

The intersection type assignment system has been designed directly as deductive system for assigning formulae of the implicative and conjunctive fragment of the intuitionistic logic to terms of lambda-calculus. But its relation with the…

Logic in Computer Science · Computer Science 2011-01-25 Simona Ronchi Della Rocca , Alexis Saurin , Yiorgos Stavrinos , Anastasia Veneti

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
‹ Prev 1 3 4 5 6 7 10 Next ›