A unifying type-theoretic framework for objects
- 1 January 1995
- journal article
- research article
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 5 (4) , 593-635
- https://doi.org/10.1017/s0956796800001490
Abstract
We give a direct type-theoretic characterization of the basic mechanisms of object-oriented programming, including objects, methods, message passing, and subtyping, by introducing an explicit constructor for object types and suitable introduction, elimination, and equality rules. The resulting abstract framework provides a basis for justifying and comparing previous encodings of objects based on recursive record types (Cardelli, 1984; Cardelli, 1992; Bruce, 1994; Cooket al., 1990; Mitchell, 1990a) and encodings based on existential types (Pierce & Turner, 1994).Keywords
This publication has 20 references indexed in Scilit:
- A paradigmatic object-oriented programming language: Design, static typing and semanticsJournal of Functional Programming, 1994
- Baby Modula-3 and a theory of objectsJournal of Functional Programming, 1994
- Simple type-theoretic foundations for object-oriented programmingJournal of Functional Programming, 1994
- An Extension of System F with SubtypingInformation and Computation, 1994
- Subtyping recursive typesACM Transactions on Programming Languages and Systems, 1993
- A semantic basis for QuestJournal of Functional Programming, 1991
- Object-oriented programming versus abstract data typesPublished by Springer Nature ,1991
- Abstract types have existential typeACM Transactions on Programming Languages and Systems, 1988
- On understanding types, data abstraction, and polymorphismACM Computing Surveys, 1985
- A semantics of multiple inheritanceLecture Notes in Computer Science, 1984