On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Abstract types have existential type
ACM Transactions on Programming Languages and Systems (TOPLAS)
The theory and practice of first-class prompts
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Toward a typed foundation for method specialization and inheritance
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Eiffel: the language
Type inference with extended pattern matching and subtypes
Fundamenta Informaticae - Special issue: lambda calculus and type theory
Type inference for records in natural extension of ML
Theoretical aspects of object-oriented programming
Theory and Practice of Object Systems - Special issue: type systems
Large-scale C++ software design
Large-scale C++ software design
Objective ML: a simple object-oriented extension of ML
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On the relationship between classes, objects, and data abstraction
Theory and Practice of Object Systems - Third workshop on foundations of object-oriented languages (FOOL 3)
A Theory of Objects
A Lambda Calculus of Incomplete Objects
MFCS '96 Proceedings of the 21st International Symposium on Mathematical Foundations of Computer Science
Notes on Typed Object-Oriented Programming
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Subtyping Constraints for Incomplete Objects (Extended Abstract)
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
A Subtyping for the Fisher-Honsell-Mitchell Lambda Calculus of Objects
CSL '94 Selected Papers from the 8th International Workshop on Computer Science Logic
A Delegation-based Object Calculus with Subtying
FCT '95 Proceedings of the 10th International Symposium on Fundamentals of Computation Theory
Type systems for object-oriented programming languages
Type systems for object-oriented programming languages
The design of a class mechanism for Moby
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Combining subsumption and binary methods: an object calculus with views
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modular mixin-based inheritance for application frameworks
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Calculus for Compiling and Linking Classes
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Extensible objects without labels
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 2005 ACM symposium on Applied computing
A Calculus of Components with Dynamic Type-Checking
Electronic Notes in Theoretical Computer Science (ENTCS)
User-changeable visibility: resolving unanticipated name clashes in traits
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Type safe dynamic object delegation in class-based languages
Proceedings of the 6th international symposium on Principles and practice of programming in Java
I-Java: An Extension of Java with Incomplete Objects and Object Composition
SC '09 Proceedings of the 8th International Conference on Software Composition
A framework for type safe exchange of mobile code
TGC'06 Proceedings of the 2nd international conference on Trustworthy global computing
Information hiding in the join calculus
ASIAN'06 Proceedings of the 11th Asian computing science conference on Advances in computer science: secure software and related issues
Delegation by object composition
Science of Computer Programming
Object reuse and behavior adaptation in Java-like languages
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Safe object composition in the presence of subtyping
ICTCS'05 Proceedings of the 9th Italian conference on Theoretical Computer Science
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
We describe an object calculus allowing object extension and structural subtyping. Each object has a "dictionary" to mediate the connection between names and components. This extra indirection yields the first object calculus combining both object extension and full width subtyping in a type-safe manner. If class inheritance is modeled with object extension, private fields and methods can be achieved directly by scoping restrictions: private fields or methods are those hidden by subsumption. We prove that the type system is sound, discuss a variant allowing covariant self types, and give some examples of the expressiveness of the calculus.