Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Unifying functional, object-oriented and relational programming with logical semantics
Research directions in object-oriented programming
Eiffel: a language and environment for software engineering
Journal of Systems and Software
Type theories and object-oriented programmimg
ACM Computing Surveys (CSUR)
Interfaces for strongly-typed object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
The annotated C++ reference manual
The annotated C++ reference manual
A parallel object-oriented language with inheritance and subtyping
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Object-Oriented Programming; An Evolutionary Approach
Object-Oriented Programming; An Evolutionary Approach
Side-effect free functions in object-oriented languages
Computer Languages
Hi-index | 0.00 |
Starting with a pragmatical (but formal) definition of type in object-oriented languages, this paper proposes a method to test type safety in this kind of language. We say that a language is (type) safe if it ensures that, during the execution of a correct program, every message sent to an object is matched by an appropriate method. We define a ''typical'' object oriented programming language, featuring multiple inheritance, recursive types, and separation between specifications and implementations. Then, we give a formal definition for its type system, and a denotational semantics for the execution of the language, based on message passing. Finally, we formally prove that our language is type safe. Along the progress of the work, better understanding is gained about many problems related with type systems in object-oriented languages.