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

Slot Definitions

At this point I'm trying to make some informed guesses about the CLOS
metaobject kernel so that the code at our lab will require mininal
modification when the final version comes out.  Realizing that X3J13
hasn't yet agreed on everything [understatement of the day? :) ], and
that PCL is not CLOS, I still have two questions regarding slot
definition objects:

  1) The most recent documentation I have is "The CLOS Metaobject
     Kernel: A Status Report" by Bobrow and Kiczales, April '88.
     According to this, the correct class precedence for slotds is:

       (standard-slot-definition slot-definition standard-object ...)

     "A PCL for the 90's" has switched to slot-description's instead of
     slot-definition's, and has further added a distinction between
     *direct* slotds (the abbreviation still works!), and *effective*
     slotds.  Are these changes a harbinger of Things To Come?

  2) In any case, the direct slotds reflect the slot definition given in
     the defclass form, while the effective slotds incorporate any
     additional information due to inheritance.  Unfortunately for my
     needs, the effective slotds keep track of everything *but* the
     readers and writes defined for the slot?  Is there a reason for
     this omission?  It would seem simple to patch the function
     compute-effective-slot-definition-initargs (in "std-class.lisp") to
     add this information, but would that cause problems?

Phil Stubblefield                                       phil@rpal.com
Rockwell Palo Alto Laboratory                           (415) 325-7165