Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
A kernel language for abstract data types and modules.
Proc. of the international symposium on Semantics of data types
A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
Understanding Russell–a first attempt
Proc. of the international symposium on Semantics of data types
Type inference and type containment.
Proc. of the international symposium on Semantics of data types
ACM Transactions on Programming Languages and Systems (TOPLAS)
BYTE - Lecture notes in computer science Vol. 174
ACM Transactions on Programming Languages and Systems (TOPLAS)
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
A structural view of the Cedar programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
A VLSI architecture for concurrent data structures
A VLSI architecture for concurrent data structures
Abstract datatypes, specialization, and program reuse
An international workshop on Advanced programming environments
Object-oriented programming with flavors
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
An introduction to Trellis/Owl
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
CommonLoops: merging Lisp and object-oriented programming
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Oaklisp: an object-oriented scheme with first class types
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Object structure in the Emerald system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Using prototypical objects to implement shared behavior in object-oriented systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Basic polymorphic typechecking
Science of Computer Programming
Research directions in object-oriented programming
Research directions in object-oriented programming
Type evolution in an object-oriented database
Research directions in object-oriented programming
Unifying functional, object-oriented and relational programming with logical semantics
Research directions in object-oriented programming
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Object-oriented concurrent programming
Object-oriented concurrent programming
Modelling and programming in an object-oriented concurrent language ABCL/1
Object-oriented concurrent programming
Pool-T: a parallel object-oriented language
Object-oriented concurrent programming
Abstract types have existential types
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
A Scheme for the Automatic Inference of Variable Types
Journal of the ACM (JACM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
A technique for software module specification with examples
Communications of the ACM
The next 700 programming languages
Communications of the ACM
SIMULA: an ALGOL-based simulation language
Communications of the ACM
Operational semantics of a parallel object-oriented language
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Using dependent types to express modular structure
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Smalltalk-76 programming system design and implementation
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Logic for Artificial Intelligence
Logic for Artificial Intelligence
The architecture of concurrent programs
The architecture of concurrent programs
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Making variables abstract: an equational theory for Russell
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A type declaration and inference system for smalltalk
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
An ideal model for recursive polymorphic types
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A semantic model of types for applicative languages
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
A lattice theoretic approach to computation based on a calculus of partially ordered type structures (property inheritance, semantic nets, graph unification)
Application programming as the construction of language interpreters
ACM SIGPLAN Notices
Performance Properties of Vertically Partitioned Object-Oriented Systems
IEEE Transactions on Software Engineering
OROS: toward a type model for software development environments
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Toward a typed foundation for method specialization and inheritance
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Viewing object as patterns of communicating agents
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Type consistency of queries in an object-oriented database system
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Incomplete information in object-oriented databases
ACM SIGMOD Record
Queries and query processing in object-oriented database systems
ACM Transactions on Information Systems (TOIS)
Copying and Swapping: Influences on the Design of Reusable Software Components
IEEE Transactions on Software Engineering
A static type system for message passing
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Object-oriented type inference
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Introduction to the literature on object-oriented design, programming, and languages
ACM SIGPLAN OOPS Messenger
A new set interpretation of the inheritance relation and its checking
ACM SIGPLAN OOPS Messenger
Complexity of kernel Fun subtype checking
Proceedings of the first ACM SIGPLAN international conference on Functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Computing Surveys (CSUR)
Research directions in object-oriented database systems
PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Functional lists: object-oriented design classes for MIS applications
WADAS '90 Proceedings of the seventh Washington Ada symposium on Ada
Object modelling languages: An evaluation and some key expectations for the future
Annals of Software Engineering
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Box-structured methods for systems development with objects
IBM Systems Journal
Subtyping, recursion, and parametric polymorphism in kernel fun
Information and Computation
Graphical inheritance notation for state-based classes
Programming and Computing Software
IJCAI'89 Proceedings of the 11th international joint conference on Artificial intelligence - Volume 1
Subtyping recursion and parametric polymorphism in kernel fun
Information and Computation
Hi-index | 0.00 |
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.