1993 · 48 citations · 13 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesSyntaxDeductive VerificationModel CheckingObject-oriented AnalysisSyntactic AnalysisType CheckingType SystemsDynamic Type CheckingObject-oriented Language DesignStatic Type CheckingType Safety
Over the last several years, much interesting work has been done in modelling object-oriented programming languages in terms of extensions of the bounded second-order lambda calculus, F . Unfortunately, it has recently been shown by Pierce ([Pie92]) that type checking F is undecidable. Moreover, he showed that the undecidability arises in the seemingly simpler problem of determining whether one type is a subtype of another. In [Bru93a, Bru93b], the first author introduced a statically-typed, functional, object-oriented programming language, TOOPL, which supports classes, objects, methods, instance variables, subtypes, and inheritance. The semantics of TOOPL is based on F , so the question arises whether type checking in this language is decidable. In this paper we show that type checking for TOOPLE, a minor variant of TOOPL (Typed Object-Oriented Programming Language), is decidable. The proof proceeds by showing that subtyping is decidable, that all terms of TOOPLE have minimum types...
13
F-bounded polymorphism for object-oriented programming
Peter S. Canning, William R. Cook, Walter L. Hill et al. · 1989 · 330 citations
William R. Cook, Walter L. Hill, Peter S. Canning · 1990 · 322 citations · Full text
Inheritance as implicit coercion
Val Breazu-Tannen, Thierry Coquand, Carl A. Gunter et al. · Information and Computation · 1991 · 179 citations
Interfaces for strongly-typed object-oriented programming
Peter S. Canning, William R. Cook, Walter L. Hill et al. · 1989 · 128 citations · Full text