English
Related papers

Related papers: On Isomorphism of "Functional" Intersection and Un…

200 papers

This paper investigates type isomorphism in a lambda-calculus with intersection and union types. It is known that in lambda-calculus, the isomorphism between two types is realised by a pair of terms inverse one each other. Notably,…

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

Designing and implementing typed programming languages is hard. Every new type system feature requires extending the metatheory and implementation, which are often complicated and fragile. To ease this process, we would like to provide…

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

There has been a considerable amount of work on retrieving functions in function libraries using their type as search key. The availability of rich component specifications, in the form of behavioral types, enables similar queries where one…

Logic in Computer Science · Computer Science 2014-06-16 Mariangiola Dezani-Ciancaglini , Luca Padovani , Jovanka Pantovic

Intersection and union types denote conjunctions and disjunctions of properties. Using bidirectional typechecking, intersection types are relatively straightforward, but union types present challenges. For union types, we can case-analyze a…

Programming Languages · Computer Science 2021-03-24 Jana Dunfield

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

In this essay, I present the advantages and, I dare say, the beauty of programming in a language with set-theoretic types, that is, types that include union, intersection, and negation type connectives. I show by several examples how…

Programming Languages · Computer Science 2024-11-18 Giuseppe Castagna

Intersection types are an essential tool in the analysis of operational and denotational properties of lambda-terms and functional programs. Among them, non-idempotent intersection types provide precise quantitative information about the…

Logic in Computer Science · Computer Science 2019-11-06 Thomas Ehrhard

We propose a semantically grounded theory of session types which relies on intersection and union types. We argue that intersection and union types are natural candidates for modeling branching points in session types and we show that the…

Programming Languages · Computer Science 2011-01-25 Luca Padovani

Non-idempotent intersection types provide quantitative information about typed programs, and have been used to obtain time and space complexity measures. Intersection type systems characterize termination, so restrictions need to be made in…

Logic in Computer Science · Computer Science 2023-05-05 Fábio Reis , Sandra Alves , Mário Florido

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

We study an assignment system of intersection types for a lambda-calculus with records and a record-merge operator, where types are preserved both under subject reduction and expansion. The calculus is expressive enough to naturally…

Programming Languages · Computer Science 2015-03-18 Jan Bessai , Boris Düdder , Andrej Dudenhefner , Tzu-Chun Chen , Ugo de'Liguoro

We provide a treatment of isomorphism within a set-theoretic formulation of dependent type theory. Type expressions are assigned their natural set-theoretic compositional meaning. Types are divided into small and large types --- sets and…

Logic in Computer Science · Computer Science 2018-01-23 David McAllester

This paper introduces a simple type system for combinatory logic in which combinators have at most one type, whose polymorphism is revealed by application. The combinatory types exactly describe the structure of their values, which may be…

Logic in Computer Science · Computer Science 2026-04-15 Barry Jay , Johannes Bader

Finitary/static semantics in the form of intersection type assignments have become a paradigm for analysing the fine structure of all sorts of lambda-models. The key step is the construction of a filter model isomorphic to a given…

Logic in Computer Science · Computer Science 2026-03-05 Mariangiola Dezani-Ciancaglini , Besik Dundua , Paola Giannini , Furio Honsell

Intersection types have been originally developed as an extension of simple types, but they can also be used for refining simple types. In this survey we concentrate on the latter option; more precisely, on the use of intersection types for…

Logic in Computer Science · Computer Science 2019-04-24 Paweł Parys

We define a type system with intersection types for an extension of lambda-calculus with unbind and rebind operators. In this calculus, a term with free variables, representing open code, can be packed into an "unbound" term, and passed…

Logic in Computer Science · Computer Science 2011-01-25 Mariangiola Dezani-Ciancaglini , Paola Giannini , Elena Zucca

Combinatorial categories satisfy a stronger form of Yoneda Lemma, namely, the isomorphism type of an object can be recovered by counting the number of homomorphisms from all other objects into it. In this work, we show that this property…

Category Theory · Mathematics 2025-09-23 Antonio Ceres , Cristina Costoya , Antonio Viruel

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

The criteria for determining graph isomorphism are crucial for solving graph isomorphism problems. The necessary condition is that two isomorphic graphs possess invariants, but their function can only be used to filtrate and subdivide…

Graphics · Computer Science 2025-08-19 Chuanfu Hu , Aimin Hou

This paper presents a new type analysis for logic programs. The analysis is performed with a priori type definitions; and type expressions are formed from a fixed alphabet of type constructors. Non-discriminative union is used to join type…

Programming Languages · Computer Science 2010-12-16 Lunjin Lu
‹ Prev 1 2 3 10 Next ›