Type theories and object-oriented programmimg
- 1 March 1988
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 20 (1) , 29-72
- https://doi.org/10.1145/62058.62060
Abstract
Object-oriented programming is becoming a popular approach to the construction of complex software systems. Benefits of object orientation include support for modular design, code sharing, and extensibility. In order to make the most of these advantages, a type theory for objects and their interactions should be developed to aid checking and controlled derivation of programs and to support early binding of code bodies for efficiency. As a step in this direction, this paper surveys a number of existing type theories and examines the manner and extent to which these theories are able to represent the ideas found in object-oriented programming. Of primary interest are the models provided by type theories for abstract data types and inheritance, and the major portion of this paper is devoted to these topics. Code fragments illustrative of the various approaches are provided and discussed. The introduction provides an overview of object-oriented programming and types in programming languages; the summary provides a comparative evaluation of the reviewed typing systems, along with suggestions for future work.Keywords
This publication has 29 references indexed in Scilit:
- A theory of type polymorphism in programmingPublished by Elsevier ,2003
- Basic polymorphic typecheckingScience of Computer Programming, 1987
- A structural view of the Cedar programming environmentACM Transactions on Programming Languages and Systems, 1986
- A concurrent object-oriented knowledge representation language Orient84/K: its features and implementationACM SIGPLAN Notices, 1986
- CommonLoops: merging Lisp and object-oriented programmingACM SIGPLAN Notices, 1986
- An introduction to Trellis/OwlACM SIGPLAN Notices, 1986
- Object-oriented programming with flavorsACM SIGPLAN Notices, 1986
- Data types are valuesACM Transactions on Programming Languages and Systems, 1985
- A Scheme for the Automatic Inference of Variable TypesJournal of the ACM, 1980
- The next 700 programming languagesCommunications of the ACM, 1966