NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
Bit me the other day (Score:1)
Design Concept Good! Implementation Bad! (Score:1)
Multiple Inheritance is a fundamental OO concept.
The only programming language I know that *safely* implements it is Eiffel.
Most people who get in trouble with MI don't realize the fundamental danger of method name conflicts, and how they must be resolved. That is the issue with the bug you reference (not in Exporter after all, but with Class::Accessor::Fast).
OOSC2 (Meyer, 1997) highlights two "interesting issues" a
Re: (Score:2)
Roles is not an alternative to the design concept of Multiple Inheritance
What's the design concept of Multiple Inheritance?
The problem with OO as it's usually conceived is that classes are used both for their responsibilities -- which tends to make the classes larger -- and for behavioral reuse (frequently via inheritance). When you want to share behavior in a procedural module, we know that it's usually a bad idea to have modules automatically pollute your code with a bunch of functions you didn't ask to import. You should ask for them explicitly (via @IMPORT_OK if using Expo
not to mention... (Score:1)
...why would you use Exporter when Sub::Exporter is right there? I mean, it's practically a parameterized role itself...
rjbs