Sam Vilain:
# > Alternatively, the approach taken with MI namespace clashes
# in Perl 5
# > is to let the programmer arrange the inheritance tree as he
# sees fit,
#
# You are right - but this is a different condition. There is
# no error in
# this case because there is no ambiguity as to which method to call.
In Perl 5, if there's an A::X and a B::X, the module writer arranges the
inheritance tree to get the one he wants. That's what I'm talking
about. The defined semantics of Perl 5 inheritance resolve the
ambiguity, but it's the module writer's duty to see that they resolve it
*correctly*. :^)
# > Making that a fatal error looks great on paper, but what if
# B::X was
# > added in the latest version of B.pm? Do you really want a *fatal*
# > error to appear on machines that upgrade B, but not those
# that don't?
# > Do you have any idea what a nightmare that would be for module
# > writers?
#
# Isn't it more of a nightmare if this is silently accepted?
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.
# > A warning to the effect of "Methods A::X and B::X conflict
# in mutual
# > subclass C", deactivatable with both 'no warnings <<oo>>' (or
# > something) and 'method X is from(A)', would please me much
# more. The
# > manpage can strongly encourage use of 'is from' when
# there's MI afoot.
#
# 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...)
--Brent Dax <[EMAIL PROTECTED]>
@roles=map {"Parrot $_"} qw(embedding regexen Configure)
>How do you "test" this 'God' to "prove" it is who it says it is?
"If you're God, you know exactly what it would take to convince me. Do
that."
--Marc Fleury on alt.atheism