Classification of actions or inheritance also for methods
European conference on object-oriented programming on ECOOP '87
A programmer's guide to object-oriented programming in Common LISP
A programmer's guide to object-oriented programming in Common LISP
Virtual classes: a powerful mechanism in object-oriented programming
OOPSLA '89 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
Monotonic conflict resolution mechanisms for inheritance
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Adaptive object-oriented programming using graph-based customization
Communications of the ACM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Proposal for a monotonic multiple inheritance linearization
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
A monotonic superclass linearization for Dylan
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adaptive plug-and-play components for evolutionary software development
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Object Oriented Software Development Environments: The Mjolner Approach
Object Oriented Software Development Environments: The Mjolner Approach
The Cathedral and the Bazaar
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Generalising the BETA Type System
ECCOP '96 Proceedings of the 10th European Conference on Object-Oriented Programming
A Statically Safe Alternative to Virtual Types
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Towards a Unified Programming Language
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Semantics-Based Composition of Class Hierarchies
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Virtual Classes and Their Implementation
CC '01 Proceedings of the 10th International Conference on Compiler Construction
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Modules as objects in newspeak
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Revisiting parametric types and virtual classes
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
Proceedings of the 4th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance
Metamodeling semantics of multiple inheritance
Science of Computer Programming
DeepFJig: modular composition of nested classes
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Transactions on Aspect-Oriented Software Development I
A meta-circular language for active libraries
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Hi-index | 0.00 |
This paper presents a mixin based class and method combination mechanism with block structure propagation. Traditionally, mixins can be composed to form new classes, possibly merging the implementations of methods (as in CLOS). In our approach, a class or method combination operation may cause any number of implicit combinations. For example, it is possible to specify separate aspects of a family of classes, and then combine several aspects into a full-fledged class family. The combination expressions would explicitly combine whole-family aspects, and by propagation implicitly combine the aspects for each member of the class family, and again by propagation implicitly compose each method from its aspects. As opposed to CLOS, this is type-checked statically; and as opposed to other systems for advanced class combination/ merging/weaving, it is integrated directly in the language, ensuring a clear semantics and a seamless interaction with the type system. Moreover, the basic mechanism used in the combination, linearization, is formalized and generalized compared to previous presentions.