the MOP is used to extract information from a running system[fn:3]);
object-relational mapping[fn:4] and other approaches to object
persistence \cite{Paepke:1988}; alternative backing stores for slots
- (hash-tables or symbols); and programmatic construction of
- metaobjects, for example for IDL compilers and model
- transformations.
+ (hash-tables \cite{Kiczales.etal:1993} or symbols
+ \cite{Costanza.Hirschfeld:2005}); and programmatic construction of
+ metaobjects, for example for interoperability with other language
+ runtimes' object systems.
One area of functionality where there is scope for customization by
the metaprogrammer is in the mechanics and semantics of method
with confidence that the semantics will not change in a
backwards-incompatible fashion.
** Acknowledgments
- We thank Lee Salzman, Pascal Costanza and Mikel Evins for helpful
- and informative discussions, and all the respondents to the first
+ We thank the anonymous reviewers for their helpful suggestions and
+ comments on the submitted version of this paper. We also thank Lee
+ Salzman, Pascal Costanza and Mikel Evins for helpful and
+ informative discussions, and all the respondents to the first
author's request for imaginative uses for generalized specializers.
\bibliographystyle{plain}
OPTannote = {}
}
+@InProceedings{Costanza.Hirschfeld:2005,
+ author = {Pascal Costanza and Robert Hirschfeld},
+ title = "{Language constructs for context-oriented programming: an overview of ContextL}",
+ OPTcrossref = {},
+ OPTkey = {},
+ booktitle = {Symposium on Dynamic Languages},
+ year = {2005},
+ editor = {Roel Wuyts},
+ OPTvolume = {},
+ OPTnumber = {},
+ OPTseries = {},
+ pages = {1--10},
+ OPTmonth = {},
+ OPTaddress = {},
+ OPTorganization = {},
+ OPTpublisher = {},
+ OPTnote = {},
+ OPTannote = {}
+}
+
+@InCollection{Kiczales.etal:1993,
+ author = {Gregor Kiczales and J. Michael Ashley and Luis Rodriguez and Amin Vahdat and Daniel G. Bobrow},
+ title = "{Metaobject protocols: Why we want them and what else they can do
+}",
+ booktitle = "{Object-Oriented Programming: The CLOS Perspective}",
+ OPTcrossref = {},
+ OPTkey = {},
+ publisher = {MIT Press},
+ year = {1993},
+ editor = {Andreas Paepke},
+ OPTvolume = {},
+ OPTnumber = {},
+ OPTseries = {},
+ OPTtype = {},
+ OPTchapter = {},
+ pages = {101--118},
+ OPTedition = {},
+ OPTmonth = {},
+ address = {Cambridge, MA},
+ OPTnote = {},
+ OPTannote = {}
+}
+