Title :
Upscaling the CLOS inheritance mechanism for multidimensional objects
Author :
Borron, Henry J.
Author_Institution :
Inst. Nat. de Recherche en Inf. et Autom., Valbonne, France
Abstract :
The paper generalizes the linearization technique known in Lisp-based languages to multidimensional objects. A general principle is defined and applied to memory representations and methods. Linearization is done on a dimension-per-dimension basis. Such application, simplified in the case of representations, has to be complemented in the case of methods, first by a condition verified in practice and secondly by a rule, quite simple to apply. Combinations become purely declarative, with no further need for the OOP classical imperative anti-modular send-super construct (fall-next-method in CLOS, super in Smalltalk). Quite sophisticated combination methods with multiple roles as done in CLOS are supported. Multiple dispatch is also supported. This paper also looks at the desirable properties of a linearization algorithm fit for use in this context. Besides stability and monotonicity, already known, a third property is brought into light. Because it conflicts with monotonicity, a refined study was conducted: the paper proposes three candidate solutions, and selects the best compromise
Keywords :
LISP; Smalltalk; inheritance; object-oriented languages; object-oriented programming; CLOS; Common Lisp Object System; Lisp-based languages; combination methods; declarative combination; inheritance; linearization technique; memory representations; monotonicity; multidimensional objects; multiple dispatch; object oriented programming; send-super construct; stability; Algorithm design and analysis; Heart; Linearization techniques; Multidimensional systems; Object oriented modeling; Paper technology; Scattering; Stability;
Conference_Titel :
Technology of Object-Oriented Languages and Systems, 1997. TOOLS 25, Proceedings
Conference_Location :
Melbourne, Vic.
Print_ISBN :
0-8186-8485-2
DOI :
10.1109/TOOLS.1997.681878