Reflections on Metaprogramming.

Saved in:
Bibliographic Details
Title: Reflections on Metaprogramming.
Authors: Lee, Arthur H.1 alee@psl.korea.ac.kr, Zachary, Joseph L.2 zachary@cs.utah.edu
Source: IEEE Transactions on Software Engineering. Nov95, Vol. 21 Issue 11, p883-893. 20p. 4 Diagrams.
Subjects: COMMON LISP (Computer program language), Programming languages, Object-oriented programming, Computer programming, Computer programmers, Software engineering
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 can 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 transparent support for persistence into the Common Lisp Object System via its metaobject protocol, an open implementation based on reflection. For many aspects of our implementation the metaobject protocol was perfectly suitable. In other cases we had to choose among extending the protocol, requiring the application programmer to employ special idioms, and tolerating a large performance penalty. Based on our experience we evaluate the metaobject protocol, propose some improvements and extensions, and present performance measurements that reveal the need for improved language implementation techniques. [ABSTRACT FROM AUTHOR]
Copyright of IEEE Transactions on Software Engineering is the property of IEEE Computer Society and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
Be the first to leave a comment!
You must be logged in first