• DocumentCode
    1833699
  • 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
  • fYear
    1994
  • fDate
    16-19 May 1994
  • Firstpage
    136
  • Lastpage
    147
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Languages, 1994., Proceedings of the 1994 International Conference on
  • Conference_Location
    Toulouse
  • Print_ISBN
    0-8186-5640-X
  • Type

    conf

  • DOI
    10.1109/ICCL.1994.288386
  • Filename
    288386