Publication Type |
Journal Article |
School or College |
College of Engineering |
Department |
Computing, School of |
Creator |
Zachary, Joseph L. |
Other Author |
Lee, Arthur H. |
Title |
Using metaprogramming to add persistence to CLOS |
Date |
1993 |
Description |
The need to "open up" languages and the spread of object-oriented technology have led to object-oriented programming languages with object-oriented implementations. By encapsulating the fundamental aspects of language semantics within a set of default classes and giving the programmer the flexibility of deriving new versions of these base classes, a language whose semantics can be tailored to the needs of individual programmers can be provided. The degree to which such languages are simultaneously flexible and efficient is an open question. We address this question by reporting our experience with using this technique to incorporate support for persistence into the Common Lisp Object System via its metaobject protocol. For many aspects of our implementation we found that 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. |
Type |
Text |
Publisher |
University of Utah |
First Page |
1 |
Last Page |
24 |
Subject |
metaprogramming; CLOS; Common Lisp Object System |
Subject LCSH |
COMMON LISP (Computer program language) |
Subject MESH |
Object-oriented methods (Computer science) |
Language |
eng |
Bibliographic Citation |
Lee, A. H., & Zachary, J. L. (1993). Using metaprogramming to Add persistence to CLOS. 1-24. UUCS-93.001. |
Series |
University of Utah Computer Science Technical Report |
Relation is Part of |
ARPANET |
Rights Management |
©University of Utah |
Format Medium |
application/pdf |
Format Extent |
2,203,037 bytes |
Identifier |
ir-main,16266 |
ARK |
ark:/87278/s61v5zm0 |
Setname |
ir_uspace |
ID |
706855 |
Reference URL |
https://collections.lib.utah.edu/ark:/87278/s61v5zm0 |