LISP and Symbolic Computation, 10(1)39-60
Adding Support for Persistence to CLOS via Its Metaobject Protocol
Arthur H. Lee, Department of Computer Science, Korea University, Seoul 136-701 Korea
Joseph L. Zachary, Department of Computer Science, University of
Utah, Salt Lake City, UT 84112 USA
Abstract: Language-level support for object persistence frees
programmers from having to confront a broad class of database issues
from within their applications. By virtue of its metaobject protocol,
CLOS is a language whose semantics can be tailored by individual
programmers. We used the metaobject protocol to extend CLOS with
support for object persistence. Our goal was to obtain a version of
CLOS with persistence to which we could easily port a commercial
geometric CAD modeling system. We describe the design and
implementation of our persistence extension and highlight the
strengths and weaknesses exhibited by the CLOS metaobject protocol
during our experiment. For many aspects of the implementation we found
that the metaobject protocol was ideal. In other cases we had to
choose among paying a large performance penalty, extending the
protocol, and bypassing the protocol by modifying the language
implementation directly.
Keywords: Open Implementation, Metaobject Protocol, Object
Persistence, CLOS
|
This article can be downloaded [here].
|
|