From: Scott Alexander
Subject: Need examples of implementing persistence via the MOP
Date: 
Message-ID: <36961A32.56B9E580@bellsouth.net>
Hello -

I have heard that it is possible to implement persistency using the
meta-object protocol (MOP).

Does anyone know where I might find an example of how to do this?

I would like to be able to use CLOS with persistent objects, but I
cannot afford to pay $2,000 at the moment for AllegroStore, and at the
moment PLOB will not run on Windows 95/98.

Thanks for any help.

- Scott Alexander
······@bellsouth.net

From: Sunil Mishra
Subject: Re: Need examples of implementing persistence via the MOP
Date: 
Message-ID: <efyn23s5lu6.fsf@whizzy.cc.gatech.edu>
Scott Alexander <······@bellsouth.net> writes:

> Hello -
> 
> I have heard that it is possible to implement persistency using the
> meta-object protocol (MOP).
> 
> Does anyone know where I might find an example of how to do this?
> 
> I would like to be able to use CLOS with persistent objects, but I
> cannot afford to pay $2,000 at the moment for AllegroStore, and at the
> moment PLOB will not run on Windows 95/98.
> 
> Thanks for any help.
> 
> - Scott Alexander
> ······@bellsouth.net

Scott, 

I believe the source code for PLOB is available. If so, your best bet would
be to download the package, and see how it as used the MOP. That would
probably be your best starting point.

Sunil
From: Kelly Murray
Subject: Re: Need examples of implementing persistence via the MOP
Date: 
Message-ID: <369A6B4B.7C1213E5@IntelliMarket.Com>
Implementing persistent has about 10% to do with getting access
to class implementation internals and slot accessors, which
is what the MOP gets you.  

Persistent can be had very easily but very very inefficiently
by saving the entire lisp image, as in dumplisp or save-image
under ACL.  This is useful for small applications, or to just
test code using a persistent model.
I've used this method in the past.   See the link below to
get the source code which adds the AllegroStore API functionality
to ACL.  Note it doesn't use the MOP, it uses a macro 
define-persistent-class intead of a defclass w/metaclass,
which defines the slot-accessors, which must be used to write
new slot values instead of (setf (slot-value ..)..)

http://www.intellimarket.com/oodb/astore5.cl

Hope that helps,
-Kelly

Sunil Mishra wrote:
> 
> Scott Alexander <······@bellsouth.net> writes:
> 
> > Hello -
> >
> > I have heard that it is possible to implement persistency using the
> > meta-object protocol (MOP).
> >
> > Does anyone know where I might find an example of how to do this?
> >
> > I would like to be able to use CLOS with persistent objects, but I
> > cannot afford to pay $2,000 at the moment for AllegroStore, and at the
> > moment PLOB will not run on Windows 95/98.
> >
> > Thanks for any help.
> >
> > - Scott Alexander
> > ······@bellsouth.net
> 
> Scott,
> 
> I believe the source code for PLOB is available. If so, your best bet would
> be to download the package, and see how it as used the MOP. That would
> probably be your best starting point.
> 
> Sunil