Object-Oriented Programming Without Recursive Types

Benjamin C Pierce and David N Turner

Abstract: It is widely agreed that the complexity of recursive types is inherent in the static typing of the essential mechanisms of object-oriented programming: encapsulation, message passing, subtyping, and inheritance. We demonstrate here that modeling object encapsulation in terms of existential types yields a substantially more straightforward explanation of these features in a simpler calculus without recursive types.

LFCS report ECS-LFCS-92-225

A version of this paper appeared in The ACM Symposium on Principles of Programming Languages, January, 1993. The paper was superseded by ``Simple Type-Theoretic Foundations for Object-Oriented Programming'': to appear in the Journal of Functional Programming, 1994.

Previous | Index | Next