Re: Object Persistence
Hi Camille,
This is a terribly loaded question from you. You might find Rucksack totally adequate. I have used everything from simple persistence implemented on one page of code, to a Lisp version of Prevalence, to a full-blown OODBMS like Okeanos. In any event, they all rely on the ability to form portable serialized descriptions of objects, whatever an “object” means. Typically they have to deal with recursive or cross-referential structures.
The paper on Prevalence that got me started was the one by Birrell, Jones, and Wobber from Digital Systems Research Center, “A Simple and Efficient Implementation for Small Databases”, Aug 1987. Prevalence takes the view that nearly all uses of databases, short of massive Hospital medical systems and Airline Reservation systems, can be held entirely in RAM with backing store to disk. Makes for a very fast system indeed.
My version of Prevalence is a MetaClass on one page of code, and object instantiation on another page of code. Not much to it, once you have a persistent stream format worked out. That stream format is a whole other topic altogether, depending on how elaborate you need to make it become. Mine, developed over the past several decades handles every Lisp object you could think of, short of executable code. (code isn’t portable)
I can provide copies of my stuff on request. But you need to further refine your desires.
[ Prevalence seems to have taken on the name Prevaylor, Prevayler, etc. ]
- DM
> On Apr 11, 2016, at 07:38, Camille Troillard <camille.troillard@icloud.com> wrote:
>
>
> Hi,
>
> I was wondering if there anyone could recommend an object persistence layer that runs on LW?
>
>
> Thanks,
> Cam
>
>
> _______________________________________________
> Lisp Hug - the mailing list for LispWorks users
> lisp-hug@lispworks.com
> http://www.lispworks.com/support/lisp-hug.html
>
>
_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html