## Subtyping Constrained Types (1996)

### Cached

### Download Links

- [www.cs.jhu.edu]
- [condor.cs.jhu.edu]
- [flint.cs.yale.edu]
- [www.cs.jhu.edu]
- [www.cs.jhu.edu]
- DBLP

### Other Repositories/Bibliography

Citations: | 59 - 2 self |

### BibTeX

@MISC{Trifonov96subtypingconstrained,

author = {Valery Trifonov and Scott Smith},

title = {Subtyping Constrained Types},

year = {1996}

}

### Years of Citing Articles

### OpenURL

### Abstract

A constrained type is a type that comes with a set of subtyping constraints on variables occurring in the type. Constrained type inference systems are a natural generalization of Hindley/Milner type inference to languages with subtyping. This paper develops several subtyping relations on polymorphic constrained types of a general form that allows recursive constraints and multiple bounds on type variables. We establish a full type abstraction property that equates a novel operational notion of subtyping with a semantic notion based on regular trees. The decidability of this notion of subtyping is open; we present a decidable approximation. Subtyping constrained types has applications to signature matching and to constrained type simplification. The relation will thus be a critical component of any programming language incorporating a constrained typing system. 1 Introduction A constrained type is a type that is additionally constrained by a set of subtyping constraints on the free ty...

### Citations

936 | A theory of type polymorphism in progra.mming - Milner - 1978 |

891 | A Theory of Objects
- Abadi, Cardelli
- 1996
(Show Context)
Citation Context ... by NSF grant CCR-9301340 ⋆⋆ Partially supported by AFOSR grant F49620-93-1-0169sin an object-oriented setting, and their greater flexibility gives a reasonable solution to the binary methods problem =-=[5]-=-. The objective of this paper is to address the problem of subtyping between polymorphic constrained types: ∀t1, . . . , tn.τ \ C ≤ ∀ ∀t1, . . . , tn.τ ′ \ C ′ Considering the generality of these type... |

485 | A semantics of multiple inheritance
- Cardelli
- 1988
(Show Context)
Citation Context ...d {t ′′ }, if Cl(C∪C ′′ ∪(A ≤ A ′′ ) ∪ {τ ′′ ≤ τ}) is consistent, then Cl(C ∪ C ′ ∪ (A ≤ A ′ ) ∪ {τ ′ ≤ τ}) is consistent. 3 This “subtyping rule” for contexts is similar to standard record subtyping =-=[6]-=-; the closure conversion [x] = λE. E.x, [λx. e] = λE. λx. [e]{ xi = E.xi| xi∈FV(e)−{x} , x = x}, and [e e ′ ] = λE. [e] E ([e ′ ] E) makes the environment explicit and maps terms of type ∀t. 〈xi : τi〉... |

305 | Subtyping recursive types
- Amadio, Cardelli
- 1993
(Show Context)
Citation Context ...the relation ≤∀ should be expected to subsume both the “more general than” relation between type schemes in the Hindley/Milner system, and the subtyping relation on recursive types of Amadio/Cardelli =-=[3]-=-. This relation, which has not received the deserved attention in the literature, has at least two important applications. The first is separate compilation via modules and functors, and the subsequen... |

216 | Type inclusion constraints and type inference
- AIKEN, WIMMERS
- 1993
(Show Context)
Citation Context ... polymorphic constrained types of the form studied here was first discovered by Curtis [8], and later independently discovered in somewhat different form, and first proven sound, by Aiken and Wimmers =-=[1]-=-. These constraint systems are less restrictive than the previously cited formulations: they allow recursive constraints such as t ≤ t →int, and thus subsume recursive types. Additionally, both upper-... |

187 | Soft typing with conditional types
- Aiken, Wimmers, et al.
- 1994
(Show Context)
Citation Context ...terpretation, and prove it is a good model by showing it is exactly ≤∀ obs , a full type abstraction property. The ideal model [15] may also be used as a basis of a constrained type ordering ≤∀ ideal =-=[2]-=-, but it is not fully abstract. The relation ≤ ∀ sem is surprisingly complex: we leave open the question whether it is decidable, and develop a powerful decidable approximation ≤ ∀ dec . In the proces... |

142 |
Fundamental properties of infinite trees
- Courcelle
- 1983
(Show Context)
Citation Context ... types gives just enough points to define an appropriate semantics. In the next section a theorem will be proven which rigorously demonstrates this fact. We use the convenient notion of regular trees =-=[7, 3]-=- to model solutions of recursive type equations. We present the semantics of constraint sets in terms of regular trees over a ranked alphabet. Let us review some definitions and results from [7, 3]. G... |

126 |
An ideal model for recursive polymorphic types
- MacQueen, Plotkin, et al.
- 1986
(Show Context)
Citation Context ...ontexts. We then define a semantic form ≤∀ sem based on a regular tree interpretation, and prove it is a good model by showing it is exactly ≤∀ obs , a full type abstraction property. The ideal model =-=[15]-=- may also be used as a basis of a constrained type ordering ≤∀ ideal [2], but it is not fully abstract. The relation ≤ ∀ sem is surprisingly complex: we leave open the question whether it is decidable... |

104 | Sound polymorphic type inference for objects
- Eifrig, Smith, et al.
- 1995
(Show Context)
Citation Context ...y allowed in the constraint sets gives a more powerful, but computationally more complex, inference algorithm. Constrained types are particularly appropriate for object-oriented programming languages =-=[10, 9]-=-: these types incorporate subtyping and recursive dependence, both critical ⋆ Partially supported by NSF grant CCR-9301340 ⋆⋆ Partially supported by AFOSR grant F49620-93-1-0169sin an object-oriented ... |

96 |
Type inference with simple subtypes
- Mitchell
- 1991
(Show Context)
Citation Context ...hm; constrained type inference is strictly more general than unification-based type inference. The idea of including subtyping constraints as part of typing judgements was first developed by Mitchell =-=[17, 18]-=-. His constraint sets were restricted to be atomic, allowing coercions between type variables only; numerous other systems with restricted forms of constraint inference have been introduced since, inc... |

93 | What are principal typings and what are they good for - Jim - 1996 |

87 | P.M.: A type system equivalent to flow analysis - Palsberg, O'Keefe - 1995 |

83 | Type inference for recursively constrained types and its application to OOP - Eifrig, Smith, et al. - 1995 |

77 | A simple algorithm and proof for type inference - Wand - 1987 |

76 |
P.: Type inference with subtypes
- Fuh, Mishra
(Show Context)
Citation Context ...onstraint sets were restricted to be atomic, allowing coercions between type variables only; numerous other systems with restricted forms of constraint inference have been introduced since, including =-=[16, 12, 14, 4]-=-. A type inference algorithm for polymorphic constrained types of the form studied here was first discovered by Curtis [8], and later independently discovered in somewhat different form, and first pro... |

68 | Simplifying subtyping constraints
- Pottier
- 1996
(Show Context)
Citation Context ... ≤ t, t ≤ t→⊤} ≤ ∀ dec ∀t. 〈〉 ⇒ t \ {⊤→t ≤ t}.sProposition 27. If GC(κ) is the constrained type obtained by removing the unreachable constraints in κ, then GC(κ) ≤ ∀ dec κ and κ ≤∀ dec GC(κ). Pottier =-=[20]-=- offers an alternative definition of reachability which ignores the polarity of the occurences of type variables. Our experience with applications of constrained type systems to object-oriented langua... |

58 |
Declaration-free type checking
- Mishra, Reddy
- 1985
(Show Context)
Citation Context ...onstraint sets were restricted to be atomic, allowing coercions between type variables only; numerous other systems with restricted forms of constraint inference have been introduced since, including =-=[16, 12, 14, 4]-=-. A type inference algorithm for polymorphic constrained types of the form studied here was first discovered by Curtis [8], and later independently discovered in somewhat different form, and first pro... |

56 |
Type inference in the presence of overloading, subtyping, and recursive types
- Kaes
- 1992
(Show Context)
Citation Context ...onstraint sets were restricted to be atomic, allowing coercions between type variables only; numerous other systems with restricted forms of constraint inference have been introduced since, including =-=[16, 12, 14, 4]-=-. A type inference algorithm for polymorphic constrained types of the form studied here was first discovered by Curtis [8], and later independently discovered in somewhat different form, and first pro... |

49 | Effective flow analysis for avoiding run-time checks - Jagannathan, Wright - 1995 |

44 | Principal type schemes for functional programs with overloading and subtyping
- Smith
- 1994
(Show Context)
Citation Context ...urs. Jim [13] also defines a notion of ≤ ∀ that relates fewer types than ours but is still powerful enough to prove some principal typing properties for constrained type systems. Previous researchers =-=[21, 4]-=- have addressed the problem of subtyping constrained types in the context of a system where recursive constraints are not allowed. The choice of whether to allow or disallow recursive constraints grea... |

37 |
Coercion and type inference (summary
- Mitchell
- 1984
(Show Context)
Citation Context ...hm; constrained type inference is strictly more general than unification-based type inference. The idea of including subtyping constraints as part of typing judgements was first developed by Mitchell =-=[17, 18]-=-. His constraint sets were restricted to be atomic, allowing coercions between type variables only; numerous other systems with restricted forms of constraint inference have been introduced since, inc... |

29 | Safety analysis versus type inference for partial types - Palsberg, Schwartzbach - 1992 |

23 |
Constrained quantification in polymorphic type analysis
- Curtis
- 1990
(Show Context)
Citation Context ...rms of constraint inference have been introduced since, including [16, 12, 14, 4]. A type inference algorithm for polymorphic constrained types of the form studied here was first discovered by Curtis =-=[8]-=-, and later independently discovered in somewhat different form, and first proven sound, by Aiken and Wimmers [1]. These constraint systems are less restrictive than the previously cited formulations:... |

20 | An interpretation of typed OOP in a language with state
- Eifrig, Smith, et al.
- 1995
(Show Context)
Citation Context ...st the standard rule for proving an upper bound on a type variablesin a system of rules with eliminated transitivity. With the extra assumption these are induction rules, similar to the (FIX) rule of =-=[11]-=-. Some standard subtyping rules [3] are derivable from those given in Fig. 1 and thus omited, for instance general reflexivity (K ⊢ τ ≤ τ is always provable for FTV(τ) ⊆ Dom(K), and (K, t ≤ τ) ⊢ t ≤ τ... |

20 | Constrained types and their expressiveness
- Palsberg, Smith
- 1996
(Show Context)
Citation Context ... soundness of constrained typing systems [10], a direct subject reduction argument was used. Recent observations concerning the close relation between constrained type systems and simple type systems =-=[19]-=- allow us to establish soundness based on soundness of a simple type system. We believe this direct approach to type soundness of constrained type systems should be applicable to other constrained typ... |

9 | On the integration of the functional programming, class-based object-oriented programming, and multi-methods
- Bourdoncle, Merz
- 1996
(Show Context)
Citation Context ...urs. Jim [13] also defines a notion of ≤ ∀ that relates fewer types than ours but is still powerful enough to prove some principal typing properties for constrained type systems. Previous researchers =-=[21, 4]-=- have addressed the problem of subtyping constrained types in the context of a system where recursive constraints are not allowed. The choice of whether to allow or disallow recursive constraints grea... |

5 |
Principal typings and type inference
- Jim
- 1996
(Show Context)
Citation Context ...ossible during type inference. As a consequence both the relation betweensconstrained types, implied by his subsumption rule, and its decidable approximation are strictly less powerful than ours. Jim =-=[13]-=- also defines a notion of ≤ ∀ that relates fewer types than ours but is still powerful enough to prove some principal typing properties for constrained type systems. Previous researchers [21, 4] have ... |

1 | Constrained types and their expressiveness. (submitted; see ftp://ftp.cs.jhu.edu/pub/scott/cte.ps - Palsberg, Smith - 1995 |