PS-ALGOL implementations: applications in persistent object-oriented programming
PS-ALGOL implementations: applications in persistent object-oriented programming
Common LISP: the language (2nd ed.)
Common LISP: the language (2nd ed.)
PCLOS: stress testing CLOS experiencing the metaobject protocol
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
The programming language jigsaw: mixins, modularity and multiple inheritance
The programming language jigsaw: mixins, modularity and multiple inheritance
User-level language crafting: introducing the CLOS metaobject protocol
Object-oriented programming
The persistent object system metastore: persistence via metaprograming
The persistent object system metastore: persistence via metaprograming
Syntax and semantics of a persistent Common Lisp
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Lightweight support for fine-grained persistence of stock hardware
Lightweight support for fine-grained persistence of stock hardware
Open implementation design guidelines
ICSE '97 Proceedings of the 19th international conference on Software engineering
Open implementation analysis and design
Proceedings of the 1997 symposium on Software reusability
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
Making smalltalk a database system
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
Reflections on Metaprogramming
IEEE Transactions on Software Engineering
Reflection and semantics in LISP
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An Interpreter for Extended Lambda Calculus
An Interpreter for Extended Lambda Calculus
Hi-index | 0.00 |
Language-level support for object persistence frees programmers fromhaving to confront a broad class of database issues from within theirapplications. By virtue of its metaobject protocol, CLOS is alanguage whose semantics can be tailored by individual programmers. Weused the metaobject protocol to extend CLOS with support for objectpersistence. Our goal was to obtain a version of CLOS withpersistence to which we could easily port a commercial geometric CADmodeling system. We describe the design and implementation of ourpersistence extension and highlight the strengths and weaknessesexhibited by the CLOS metaobject protocol during our experiment. Formany aspects of the implementation we found that the metaobjectprotocol was ideal. In other cases we had to choose among paying alarge performance penalty, extending the protocol, and bypassing theprotocol by modifying the language implementation directly.