Abstract. Key longstanding difficulties associated with subtyping can be avoided by using type unification instead of subtyping on function argument types. In particular, the types of method specialisations need only be unifiable subtypes of the method’s default type. Now methods can be viewed as pattern-matching functions in the recently defined higher-order pattern calculus, a small calculus that supports polymorphism with respect to data, structures, paths, patterns and now subtyping.
Abstract. Many type inference and program analysis systems include notions of subtyping and parametr...
Unification, or two-way pattern matching, is the process of solving an equation involving two first-...
Consider a first order typed language, with semantics $S$ for expressions and types. Adding subtypin...
Subtyping is used in language design, type checking and program analysis. Mitchell and others have s...
We investigate a technique from the literature, called the phantom-types technique, that uses parame...
Subtyping can be fairly complex for union types, due to interactions with other types, such as funct...
We extend the framework of Pure Type Systems with subtyping, as found in F = ¿ . This leads to a con...
Subtyping appears in a variety of programming languages, in the form of the "automatic coercion...
AbstractSystem F⩽ω is an extension with subtyping of the higher-order polymorphic λ-calculus —an ort...
AbstractPath polymorphism is the ability to define functions that can operate uniformly over arbitra...
This paper uses logical relations for the first time to study the decidability of typechecking and s...
Many type inference and program analysis systems include notions of subtyping and parametric polymor...
Unification, or two-way pattern matching, is the process of solving an equation involving two first-...
There is a significant class of operations such as mapping that are common to all data structures. T...
AbstractWe define the typed lambda calculus Fω∧ (F-omega-meet), a natural generalization of Girard's...
Abstract. Many type inference and program analysis systems include notions of subtyping and parametr...
Unification, or two-way pattern matching, is the process of solving an equation involving two first-...
Consider a first order typed language, with semantics $S$ for expressions and types. Adding subtypin...
Subtyping is used in language design, type checking and program analysis. Mitchell and others have s...
We investigate a technique from the literature, called the phantom-types technique, that uses parame...
Subtyping can be fairly complex for union types, due to interactions with other types, such as funct...
We extend the framework of Pure Type Systems with subtyping, as found in F = ¿ . This leads to a con...
Subtyping appears in a variety of programming languages, in the form of the "automatic coercion...
AbstractSystem F⩽ω is an extension with subtyping of the higher-order polymorphic λ-calculus —an ort...
AbstractPath polymorphism is the ability to define functions that can operate uniformly over arbitra...
This paper uses logical relations for the first time to study the decidability of typechecking and s...
Many type inference and program analysis systems include notions of subtyping and parametric polymor...
Unification, or two-way pattern matching, is the process of solving an equation involving two first-...
There is a significant class of operations such as mapping that are common to all data structures. T...
AbstractWe define the typed lambda calculus Fω∧ (F-omega-meet), a natural generalization of Girard's...
Abstract. Many type inference and program analysis systems include notions of subtyping and parametr...
Unification, or two-way pattern matching, is the process of solving an equation involving two first-...
Consider a first order typed language, with semantics $S$ for expressions and types. Adding subtypin...