CommonLoops: merging Lisp and object-oriented programming
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Reflexive architecture: from ObjVLisp to CLOS
on ECOOP '88 (European Conference on Object-Oriented Programming)
Reflection in an object-oriented concurrent language
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
The common Lisp object system metaobject kernel: a status report
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Intensions and extensions in a reflective tower
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Inheritance and synchronization with enabled-sets
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
The art of metaobject protocol
The art of metaobject protocol
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Composition of before/after metaclasses in SOM
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
The mystery of the tower revealed: a non-reflective description of the reflective tower
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Reification: Reflection without metaphysics
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Composition of before/after metaclasses in SOM
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
A reflective model for first class dependencies
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Towards a methodology for explicit composition of metaobjects
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Release-to-release binary compatibility in SOM
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Composition Validation and Subjectivity in GenVoca Generators
IEEE Transactions on Software Engineering
Maintaining the consistency of class libraries during their evolution
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Non-intrusive object introspection in C++: architecture and application
Proceedings of the 20th international conference on Software engineering
CTK: Configurable Object Abstractions for Multiprocessors
IEEE Transactions on Software Engineering
OpenCorba: A Reflective Open Broker
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
From Dalang to Kava - The Evolution of a Reflective Java Extension
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
Shifting Up Reflection from the Implementation to the Analysis Level
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Morphing: Structurally shaping a class by reflecting on others
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the notion of consistency in metadata repository systems
CAiSE'05 Proceedings of the 17th international conference on Advanced Information Systems Engineering
Safe metaclass composition using mixin-based inheritance
Computer Languages, Systems and Structures
Morphing: safely shaping a class in the image of others
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
This paper reports on the evolution of metaclass programming in SOM (the IBM System Object Model). Initially, SOM's use of explicit metaclasses introduced metaclass incompatibilities. This was cured by having SOM dynamically derive an appropriate metaclass by interpreting the “metaclass declaration” as a constraint. In effect, inheritance is given a new dimension, because the constraint is also inherited. The derived metaclass is the least solution to all these constraints. Subsequently, this cure led to the possibility of metaclasses conflicting over the need to assign meaning to a method. The cure for this problem is a framework that facilitates the programming of metaclasses that cooperate on the assignment of meaning to methods.