Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
LISP and Symbolic Computation: Abstract, 6(1/2)119-138
[go: Go Back, main page]

LISP and Symbolic Computation, 6(1/2)119-138

Balancing the EULISP Metaobject Protocol

Harry Bretthauer, German National Research Center for Computer Science (GMD), P.O. Box 1316, W-5205 Sankt Augustin 1, FRG
Jürgen Kopp, German National Research Center for Computer Science (GMD), P.O. Box 1316, W-5205 Sankt Augustin 1, FRG
Harley Davis, ILOG SA., 2 avenue Galli'eni, 94253 Gentilly, France
Keith Playford, School of Mathematical Sciences, University of Bath, Bath BA2 7AY, UK

Abstract: The challenge for the metaobject protocol designer is to balance the conflicting demands of efficiency, simplicity, and extensibility. It is impossible to know all desired extensions in advance; some of them will require greater functionality, while others require greater efficiency. In addition, the protocol itself must be sufficiently simple that it can be fully documented and understood by those who need to use it.

This paper presents the framework of a metaobject protocol for EULISP which provides expressiveness by a multileveled protocol and achieves efficiency by static semantics for predefined metaobjects and modularizing their operations. The EULISP module system supports global optimizations of metaobject applications. The metaobject system itself is structured into modules, taking into account the consequences for the compiler. It provides introspective operations as well as extension interfaces for various functionalities, including new inheritance, allocation, and slot access semantics.

While the overall goals and functionality are close to those of Kiczales et al. [9], the approach shows different emphases. As a result, time and space efficiency as well as robustness have been improved.

Keywords: object-oriented programming, language design

[local copy]
[picture of journal cover]

May 2003 - hosc@brics.dk