2 research outputs found
Principal types for object-oriented languages
Object-oriented languages can be translated into a #lambda#-calculus with records. Therefore, type inference for record languages is one aspect of the yet unsolved problem of inferring types for object-oriented languages. In order to obtain the necessary flexibility for such a type system, we can either introduce a general subtyping notion or use extensible record types. Subtyping, especially in combination with imperative features, poses many hard problems. Therefore, the second approach is promising. The problem is that, in previous type inference systems that used extensible record types, principal types could not be inferred. We have found that, for an object-oriented language where classes are not first-class citizens, we could greatly simplify the underlying record language. We show that, for our simple record language, there exists a type inference algorithm that infers principal types. (orig.)Available from TIB Hannover: RO 9514(93-02) / FIZ - Fachinformationszzentrum Karlsruhe / TIB - Technische InformationsbibliothekSIGLEDEGerman
A verification of extensible record types
In the strive for more flexible type checkers, Remy and Wand proposed flexible record types in order to avoid the complications involved with subtyping. We formalize their approach in the framework of order-sorted logic. R, the considered language of records, is so simple that the type inference algorithm can be expressed as a constraint solver in first-order logic. We specify expressions and types, give an effective method for finding a typing, and state soundness results. R can be the basis of type inference for object-oriented programming languages. (orig.)SIGLEAvailable from TIB Hannover: RO 9514(92-03) / FIZ - Fachinformationszzentrum Karlsruhe / TIB - Technische InformationsbibliothekDEGerman