On Wed, Jun 08, 2005 at 11:40:49AM +0200, "TSa (Thomas Sandlaß)" wrote:
: Damian Conway wrote:
: >So, to clarify again, if $var is undefined, then the assignment:
: >
: >    $var op= $value;
: >
: >is equivalent to:
: >
: >    $var = (&op.does(identval) ?? &op.identval() :: undef) op $value;
: >
: >Correct?
: 
: Might I add that it should read
: 
:       $var = (&op.does(identval) ??
:               &op.identval($value) :: undef) op $value;
: 
: The rational is, that &op is subject to MMD, so the .identval method
: should be dispatched as well. Actually &op.identity($value) reads
: quite natural and self documenting if the parameter is required.

I don't think there's a double dispatch there.  I think &op just knows
it can default its left argument to an existing attribute value if it
(somehow) knows it's part of an assignment op.  There's not a lot of
payback in getting all abstract here, as far as I can see.

Larry

Reply via email to