Static Type Inference for Parametric Classes

Atsushi Ohori, Peter Buneman

Research output: Chapter in Book/Report/Conference proceedingConference contribution


Central features of object-oriented programming are method inheritance and data abstraction attained through hierarchical organization of classes. Recent studies show that method inheritance can be nicely supported by ML style type inference when extended to labeled records. This is based on the fact that a function that selects a field ƒ of a record can be given a polymorphic type that enables it to be applied to any record which contains a field ƒ. Several type systems also provide data abstraction through abstract type declarations. However, these two features have not yet been properly integrated in a statically checked polymorphic type system. This paper proposes a static type system that achieves this integration in an ML-like polymorphic language by adding a class construct that allows the programmer to build a hierarchy of classes connected by multiple inheritance declarations. Moreover, classes can be parameterized by types allowing "generic" definitions. The type correctness of class declarations is statically checked by the type system. The type system also infers a principal scheme for any type correct program containing methods and objects defined in classes.
Original languageEnglish
Title of host publicationOOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Number of pages12
ISBN (Print)0-89791-333-7
Publication statusPublished - 1989

Fingerprint Dive into the research topics of 'Static Type Inference for Parametric Classes'. Together they form a unique fingerprint.

Cite this