Object-oriented programming with flavors
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
A programmer's guide to object-oriented programming in Common LISP
A programmer's guide to object-oriented programming in Common LISP
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Jiazzi: new-age components for old-fasioned Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Evolvable programming based on collaboration-field and role model
Proceedings of the International Workshop on Principles of Software Evolution
Separation of Concerns in Mobile Agent Applications
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Jam---designing a Java extension with mixins
ACM Transactions on Programming Languages and Systems (TOPLAS)
A first-class approach to genericity
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Super and inner: together at last!
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Magda: a new language for modularity
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Forsaking inheritance: supercharged delegation in DelphJ
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
A mixin is a reusable module that provides uniform extensions and modifications to classes. It is an abstract subclass that is composable with a variety of superclasses. In mixin-based composition, however, the problem of accidental overriding arises. A method declared in a mixin may accidentally overrides its superclasses' method. To tackle this problem, we propose a new approach of method lookup that allows selective method combination; that is, when we have multiple methods with the same name and the same formal parameter types in a composition, we can select which method to execute, and which method is called when there exists a method call to super. This proposal is an extension of hygienic mixins with stronger expressive power. This proposal is implemented in McJava, an extension of Java with mixintypes. Its compilation is achieved by source code translation to Java thus making it runnable on a standard Java virtual machine.