What's a POS??

Martin Cracauer cracauer@wavehh.hanse.de
Tue, 13 May 1997 00:02:38 +0200 (MET DST)


> > In what way is "pointed to by existing persistent objects" different
> > from the above "Writing a transient value into the slot of a
> > persistent instance makes it persistent."? 
> 
> Good question, I wasn't clear. Instances of non-persistent classes
> can't be persistent.  AllegroStore generates an exception if this is
> attempted:
> 
> (defclass transient () (slot1) )
> (defclass persistent () (slot1) (:metaclass astore:persistent-standard-class))
> 
> ;; not allowed, generates error
> (setf (slot-value (make-instance 'persistent) 'slot1)
>       (make-instance 'transient))
> 
> There are reasons for this.  To lift the restriction requires a 
> different implementation than AllegroStore uses to make things persistent.

But what exactly can be in a persistent object's slots? 

CLOS members of other metaclasses than persistent-standard-class
cannot, but obviously some members of build-in class must to make the
system useful (i.e. numbers, strings). How can one tell what build-in
classes can be part of a persistent object? And what about structure
instances? 

Martin
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <cracauer@wavehh.hanse.de>
http://cracauer.cons.org
Fax +49 40 522 85 36