[cells-devel] Re: [cello-devel] Constructor syntax
Thomas F. Burdick
tfb at OCF.Berkeley.EDU
Fri May 14 09:43:39 UTC 2004
Kenny Tilton writes:
> Food for thought: slot-value is a back door. Not sure what that food
> means, tho, because for a while Cells /was/ mop-based and slot-value was
> not a back door. But that was slower and less portable. But those are
> practical concerns, not ideological. But consistency here might be a
> Good Thing if only for consistency's usual merits (hobgoblins
> notwithstanding).
>
> More food: when slot-value was /not/ a backdoor, it was a nuisance to
> programming cells. I had to set a *backdoor* special to actually get the
> raw slot-value in Cell internals. ie, slot-value-using-class and its
> setter both had to (in all specializations) keep an eye out for
> *backdoor* access. OK, it is not the end of the world, but it may have
> been a Message From God, viz, that perhaps the transparency thing
> (making it seem as if CLOS does Cells) is a mistake: CLOS does /not/ do
> Cells. Cells by this thinking are not strictly an /extension/ of CLOS,
> but rather a distinct OO capability implemented thru CLOS. Less
> profoundly, should Cell internals ever care about slot bounditude, we'll
> be back into *backdoor* tricks.
Hmmm ... maybe you're right. Exporting md-slot-value and making it
bottom out to calling slot-value would make this argument stronger.
Then, if you're using Cells, just use the md- variations for
everything. If you're consuming object that you don't know too much
about (are they Models?), you really don't want to be doing things
like calling slot-value on them anyway.
> Having to hack MCL folks' CLOSes becomes just another straw on the back
> at this point.
>
> Thoughts?
Well, I do think it's more like a bug in MCL, since it's in line with
the MOP they implement, but on reconsideration, the md- solution might
be better. Since Cells really isn't integrated into CLOS, having this
little feature integrated would be weird; the normal backdoor around
it would be to write a method on s-m-u-c that circumvents Cells'. But
since model classes aren't instances of a model-class metaclass, the
backdoor would be to get an :around method around the Cells :around
method ... okay, that might just be a message from Rakim (God MC).
---
/|_ .---------------------------------.
,' .\ / | It's been a long time, |
,--' _,' | I shouldn'ta left you |
/ / | without a dope rhyme to step to |
( -. | `---------------------------------'
| ) |
(`-. '--.)
`. )----'
More information about the cells-devel
mailing list