OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Eiffel: the language
Extending object-oriented systems with roles
ACM Transactions on Information Systems (TOIS)
Roles: conceptual abstraction theory and practical language issues
Theory and Practice of Object Systems - Special issue on subjectivity in object-oriented systems
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
The C++ Programming Language
Fickle: Dynamic Object Re-classification
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Type-Safe Delegation for Dynamic Component Adaptation
ECOOP '98 Workshop ion on Object-Oriented Technology
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Strongly typed heterogeneous collections
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Traits: A mechanism for fine-grained reuse
ACM Transactions on Programming Languages and Systems (TOPLAS)
A precise model for contextual roles: The programming language ObjectTeams/Java
Applied Ontology - Roles, an interdisciplinary perspective
Transactions on Aspect-Oriented Software Development I
Hi-index | 0.00 |
Typically, an object is a monolithic entity with a fixed interface. To increase flexibility in this area, this paper presents first-class object sets as a language construct. An object set offers an interface which is a disjoint union of the interfaces of its member objects. It may also be used for a special kind of method invocation involving multiple objects in a dynamic lookup process. With support for feature access and late-bound method calls, object sets are similar to ordinary objects, only more flexible. Object sets are particularly convenient as a lightweight primitive which may be added to a mainstream virtual machine in order to improve on the support for family polymorphism. The approach is made precise by means of a small calculus, and the soundness of its type system has been shown by a mechanically checked proof in Coq.