Title :
Using metaprogramming to add persistence to CLOS
Author :
Lee, Arthur H. ; Zachary, Joseph L.
Author_Institution :
Dept. of Comput. Sci., Korea Univ., Seoul, South Korea
Abstract :
By encapsulating aspects of language semantics within a set of default classes and allowing the programmer to derive new versions, object-oriented languages whose semantics con be tailored to the needs of individual programmers have been provided. The degree to which such languages are simultaneously flexible and efficient is an open question. We describe our experience with using this technique to incorporate support for persistence into the Common Lisp Object System (CLOS) via its metaobject protocol. For many aspects of our implementation, the metaobject protocol was perfectly suitable. In other cases, we had to variously extend the protocol, pay an unacceptable performance penalty, or modify the language implementation directly. Based on our experience, we propose some improvements to the protocol. We also present some performance measurements that reveal the need for improved language implementation techniques
Keywords :
LISP; object-oriented languages; object-oriented programming; performance evaluation; protocols; CLOS; Common Lisp Object System; default classes; encapsulation; language implementation techniques; language semantics; metaobject protocol; metaprogramming; new versions; object-oriented languages; performance measurements; persistence; Access protocols; Cities and towns; Computer science; Measurement; Object oriented programming; Packaging; Programming profession;
Conference_Titel :
Computer Languages, 1994., Proceedings of the 1994 International Conference on
Conference_Location :
Toulouse
Print_ISBN :
0-8186-5640-X
DOI :
10.1109/ICCL.1994.288386