On Wed, 2004-04-21 at 12:17, chromatic wrote:

> * Add a disambiguatey method to PoliceDog that dispatches
> appropriately.  (Insert handwavey "well you *could* do it this way or
> you *might* do it that way.")

I agree, but given that the average user should probably not have to
interact with the dispatching system just to say "my class uses class
a's foo, not class b's foo", can I suggest:

        class a { method foo {...} }
        class b { method foo {...} }
        class c { does a; does b but a.foo; }

the "but" disarms the compilation failure that A12 introduced, but only
for that method. Every time you have such a conflict, you will have to
disarm in this way. What MIGHT be a problem is:

        class c { does a but b.bar; does b but a.foo; }

which requires the compiler to accept b.bar even though it has not yet
seen the "does b". You could assert the other way around:

        class c { does a for <<bar baz>>; does b for <<foo biz>>; }

which is kind of nifty looking, but some may blanch at the dual meaning
for "for"....

-- 
Aaron Sherman <[EMAIL PROTECTED]>
Senior Systems Engineer and Toolsmith
"It's the sound of a satellite saying, 'get me down!'" -Shriekback


Reply via email to