On Tue, Dec 23, 2003 at 07:46:56PM +0000, Piers Cawley wrote:
: Will this approach allow for the removal of a property? (I'm currently
: stuck for a suggested syntax...)

If a property is an enumified sort of role, then in general you don't
disable a property by removing it, but by setting the value to the enum
value that means "nope".  For example, there isn't a "true" property,
per se.  There's a Boolean role/property with a boolean attribute that
can have the value either true or false.  When you say "but true",
it first makes sure that your object "does Boolean", and then it
calls the corresponding boolean accessor to set the value to true.

Now, maybe some roles can be self-removing, if you set them to
a particular default value, or twiddle their interface some way.
But the general way to cut down the capabilities of a type is to
subtype it.  So removal of a role might fall out of some kind of
syntax that does a force-to-subtype operation, if we support such
an operation.  Can't be more specific than that right now.

Larry

Reply via email to