Subtyping Union Types
@inproceedings{Vouillon2004SubtypingUT, title={Subtyping Union Types}, author={J{\'e}r{\^o}me Vouillon}, booktitle={CSL}, year={2004} }
Subtyping can be fairly complex for union types, due to interactions with other types, such as function types. Furthermore, these interactions turn out to depend on the calculus considered: for instance, a call-by-value calculus and a call-by-name calculus will have different possible subtyping rules. In order to abstract ourselves away from this dependence, we consider a fairly large class of calculi. This allows us to find a subtyping relation which is both robust (it is sound for all calculi…
27 Citations
Preciseness of Subtyping on Intersection and Union Types
- Computer ScienceRTA-TLCA
- 2014
The soundness and the completeness, together referred to as the preciseness of subtyping, can be considered from two different points of view: denotational and operational.
Semantic subtyping for non-strict languages
- Computer ScienceTYPES
- 2018
This work defines a type system using semantic subtyping for a functional language with a call-by-need semantics by introducing an explicit representation for divergence in the types, so that the type system distinguishes expressions that are results from those which are computations that might diverge.
The Recursive Union of Some Gradual Types
- Computer ScienceA List of Successes That Can Change the World
- 2016
We study union types and recursive types in the setting of a gradually typed lambda calculus. Our goal is to obtain a foundational account for languages that enable recursively defined data…
Completely Subtyping Iso-recursive Types
- Computer Science
- 2012
New, algorithmic rules for subtyping isorecursive types are defined and it is proved that the rules are sound and complete with respect to type safety.
Strong Normalization as Safe Interaction
- Mathematics22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007)
- 2007
It is proved that the union and intersection type discipline without (orE) is complete w.r.t. strong normalization, and two sufficient conditions for the safety of ( orE) are discussed.
On Subtyping-Relation Completeness, with an Application to Iso-Recursive Types
- Computer ScienceACM Trans. Program. Lang. Syst.
- 2017
New, algorithmic rules are defined for subtyping iso-recursive types, and the rules are proved sound and complete with respect to type safety.
Precise subtyping for synchronous multiparty sessions
- MathematicsPLACES
- 2015
The novelty of this paper is the introduction of characteristic global types to prove the operational completeness of the subtyping for a synchronous multiparty session calculus.
Strong Normalization and Equi-(Co)Inductive Types
- Computer ScienceTLCA
- 2007
A type system for the lambda-calculus enriched with recursive and corecursive functions over equi-inductive and -coinductive types is presented in which all well-typed programs are strongly…
References
SHOWING 1-10 OF 24 REFERENCES
Subtyping with Union Types, Intersection Types and Recursive Types
- Computer ScienceTACS
- 1994
It is shown how the subtype decision problem may be solved by an encoding into regular tree expressions, and soundness and completeness are proved with respect to the classical ideal model for types.
Type Assignment for Intersections and Unions in Call-by-Value Languages
- MathematicsFoSSaCS
- 2003
A system of type assignment with intersection types, union types, indexed types, and universal and existential dependent types that is sound in a call-by-value functional language is developed and provides a uniform generalization and explanation of several earlier isolated systems.
Semantic subtyping
- Computer ScienceProceedings 17th Annual IEEE Symposium on Logic in Computer Science
- 2002
This paper shows how to define a subtyping relation semantically, for a language whose operational semantics is driven by types; it considers a rich type algebra, with product, arrow, recursive, intersection, union and complement types, to "bootstrap" the subtyped relation through a notion of set-theoretic model of the type algebra.
Intersection types and computational effects
- Computer ScienceICFP '00
- 2000
A solution similar to the value restriction for polymorphism adopted in the revised definition of Standard ML is proposed, which is not tied to let-expressions and requires an additional weakening of the usual subtyping rules.
Semantic types: a fresh look at the ideal model for types
- MathematicsPOPL 2004
- 2004
The proof of the existence of types does not rely on metric properties, but on the fact that the identity is the limit of a sequence of projection terms, suggesting that ideals are better understood as closed sets of terms defined by orthogonality with respect to a set of contexts.
Parametric Polymorphism and Operational Equivalence
- MathematicsElectron. Notes Theor. Comput. Sci.
- 1997
An operationally-based approach to Reynolds' notion of relational parametricity is developed for an extension of Plotkin's PCF with ∀types and lazy lists and the resulting logical relation is shown to be a useful tool for proving properties of polymorphic types up to a notion of operational equivalence based on Morris-style contextual equivalence.
Recursive polymorphic types and parametricity in an operational framework
- Computer Science20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05)
- 2005
A realizability model of recursive polymorphic types, starting from an untyped language of terms and contexts, which states that recursive types are approximated by converging sequences of interval types.
An ideal model for recursive polymorphic types
- MathematicsPOPL '84
- 1984
When constants are added to the pure lambda calculus, run-time errors can occur if the constants are used improperly, for example, if an at tempt is made to apply a natural number as if it were a…
Computational Adequacy in an Elementary Topos
- PhilosophyCSL
- 1998
It is proved that computational adequacy holds if and only if the topos is 1-consistent (i.e. its internal logic validates only true Σ\(^{\rm 0}_{\rm 1}\)-sentences).
Programming with intersection types and bounded polymorphism
- Computer Science
- 1992
This thesis unifies and extends prior work on intersection types and bounded quantification by investigating theoretical and practical aspects of a typed $\lambda$-calculus incorporating both.