Performance and evaluation of LISP systems
Performance and evaluation of LISP systems
Types and persistence in database programming languages
ACM Computing Surveys (CSUR)
Empirical analysis of a LISP system
Empirical analysis of a LISP system
PCLOS: a flexible implementation of CLOS persistence
on ECOOP '88 (European Conference on Object-Oriented Programming)
Object management in a persistent smalltalk system
Software—Practice & Experience
ODE (Object Database and Environment): the language and the data model
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
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.)
The ObjectStore database system
Communications of the ACM
The GemStone object database management system
Communications of the ACM
Lisp O2: a persistent object-oriented Lisp
Building an object-oriented database system
Lisp and Symbolic Computation
The persistent object system metastore: persistence via metaprograming
The persistent object system metastore: persistence via metaprograming
UCL+ P—A persistent common lisp
UCL+ P—A persistent common lisp
The Java Language Specification
The Java Language Specification
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
Database System Concepts
Persistent Immutable Shared Abstractions
Proceedings of the US/Japan Workshop on Parallel Symbolic Computing: Languages, Systems, and Applications
Design of an Object Faulting Persistent Smalltalk
Design of an Object Faulting Persistent Smalltalk
Hi-index | 0.00 |
The Persistent Lisp language was defined and an implementation,UCL+P, 1 was designed andconstructed. Persistent Lisp is a superset of Common Lisp which fullysupports the development of programs manipulating persistent datawhile maintaining Lisp semantics across the storage/retrieval ofvalues. Persistence features provided are concurrent atomictransactions, demand loading of values, and transparent load andstore of persistent values.All Common Lisp data types (withthe exception of streams) can be made persistent. Nonsymbolic valuesare initially created as transient values on the runtime heap. When atransaction completes, transient values which are reachable from apersistent symbol become persistent. The package mechanism has been extended to add a persistence attribute to packages. Whensymbols are interned in a package with the persistence attribute,they become persistent, as do values reachable from them.UCL+P was created to support these features, by making extensive low-level modifications to the UCL compiler and runtime system. A newruntime data structure, the indirection vector, was created to supportthe relocation of newly persistent values from the runtime heap to thepersistent heap.