[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


    Date: Fri, 18 Dec 87 17:08:09 MST
    From: kempf%hplabsz@hplabs.HP.COM

    One of the topics discussed at the meeting last week was versioning. I 
    have given some thought to this, and I think a better way to it would
    be to use something like Stan Zdonick's VERSIONED-OBJECT class as a
    metaclass, from which all versioned classes and versioned instances
    are created. Instances would have a write through cache which contained
    the current slot value, and writes to slots would cause updates to
    a data structure (AVL-DAG's are nice) which maintained the different
    versions of slot values. This protocol could be implemented with

That's interesting.  We have something very much like this in Statice.
In fact, it is called versioned-entity.  We implement it with macros;
that is, you don't just say DEFCLASS (what you really don't say is
DEFFLAVOR, but you know what I mean) but you say DEFINE-ENTITY-TYPE, and
it expands into a lot of stuff including little caching accessor
methods, a DEFFLAVOR with extra instance variables to hold the cache
validation state, and so on.

I'd like to find out more about Zdonik's VERSIONED-OBJECT class.  Is
this written up anywhere, or is source code available, or anything like
that?  Thanks.