Marco Marongiu wrote:


And, last, there is a proposal to rename it to Date::Calc::Iterator


Date::Iterator is not a subclass of Date::Calc: it *uses* it; and Date::Calc as a namespace for my module is just confusing: my modules Iterates over Dates, fullstop. The "Calc" part is confusing.


Derivation/sub-classing is not the only reason to choose a namespace.
Delegation/has-a relationships (for one) are also a good reason, and it sounds like your module
fits this case.


Namespaces are not about implementation (which is what derivation is doing),
theyre about interfaces. And for humans, knowing where to find those modules.


Mazda-RX-8 has a Wankel motor in it - does that make it
different enough to not be a Car ? Of course not. You drive it just like every other
car. Is a minivan a car ? an SUV ? YES. Should they be under CAFE ?
(Corporate Average Fuel Economy - Congressional law) *Absolutely*



so wrt finding Date::Calc::Iterator, how would one go about it ? search.cpan.org !
and what are your search criteria ? *Date*, *Iterator*


I just searched Iterator, and hit several with it as the 3rd level name-

*File::Find::Iterator* <http://search.cpan.org/author/TEXMEC/File-Find-Iterator-0.3/Iterator.pm>
*XML::LibXML::Iterator* <http://search.cpan.org/author/PHISH/XML-LibXML-Iterator-1.00/lib/XML/LibXML/Iterator.pm>
*Test::Harness::Iterator* <http://search.cpan.org/author/RCAPUTO/POE-0.27/lib/Test/Harness/Iterator.pm>


So sticking Calc in there's not gonna make it any less 'found',
It adds info wrt your dependency, and it keeps Date::* a little less cluttered.


Reply via email to