On Thu, 06 Mar 2003 16:22, Brent Dax wrote:
> Who said it would be silent?  I mentioned emitting a warning below.  The
> module writer will fix the warning, and module users can disable the
> warning easily until the new version is out.
> # It sounds like you already have a plan - I didn't realise
> # about `is from'.  
> # I'll shut up on this subject now :-).
> Ugh...sorry, that was rabid speculation on my part.  I should have made
> that more clear.  (I do that way too often...)

Well, I for one like this iteration of your speculation.

`is from' would be a bit like `swiss inheritance' (think swiss cheese), or 
the *{"foo"} = \&{"X::foo"} Perl 5 idiom.

It would be a clear way for a module author to inherit only the methods 
that they desire.

The next question, then is - within the scope of the methods inherited via 
`is from', are ALL of the methods of the original object visible, or just 
the ones in private scope?  If they are in public scope, what if the 
derived Class redefines some methods that were effectively obscured, and 
the inherited method calls it?

Hmm, I think that would just make it too ugly.  If they don't inherit the 
methods they need then they'll just have to get a `method not defined' 
error.

It just goes to show that MI is an ugly hack compared to using a servant 
class.  But that is not the point here; the point here is making good MI 
semantics.

Sorry, know I said I'd shut up :-)  But this is still too interesting ;-)
-- 
Sam Vilain, [EMAIL PROTECTED]

Seeing a murder on television... can help work off one's antagonisms.
And if you haven't any antagonisms, the commercials will give you
some.
 -- Alfred Hitchcock

Reply via email to