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

Re: Eliminating dynamic slots



At ISI we are currently making extensive use of dynamic slots in our
application of PCL, and I would expect that many of our objects would
double in size if we didn't have the :dynamic option.  We are using PCL
as the basis for a knowledge representation system.  We are forcasting
that in future applications, knowledge base objects might have on the
order of 5 to 20 slots which fit the notion of an instance slot, i.e., a
slot which must have a value, while for the same object there may be
hundreds of "potential" slots, each of which has an exceedingly low
probability of having a value.

If dynamic slots are eliminated, we will be forced to implement
them ourselves.  My guess is that an efficient implementation would
rely on relatively low-level portions of the PCL code, and would thus
be subject to update as new versions are released.  What we would
like to see is official support for a second meta-class called, say,
"dynamic-class", which does what "class" does now.

    "Of course, for a program which reall does want something like :dynamic
     slots, its pretty easy to do using the meta-object protocol."

We would prefer to be PCL-users rather than PCL hackers (in the
non-perjorative sense of the word), in the sense that we are hoping to
utilize PCL without the necessity of learning its internals, especially
right now, when the implementation is continuously changing.

The last glimpse we saw of the Common Objects/Classes standard said very
little about metaclasses, not even remotely enough to enable one to
define one's own metaclass based only the standard.  In other words, the
metaclass mechanism seems to be one of the less mature parts of the
standard, and from our vantage point, using it might consume a great
deal more time than we would like to spend.

Bob Mac Gregor