Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

On what to add and omit from a CPAN module

by princepawn (Parson)
on Aug 24, 2007 at 20:26 UTC ( #634956=perlmeditation: print w/ replies, xml ) Need Help??

At the very end of List::Util's docs we see:
The following are additions that have been requested, but I have been reluctant to add due to them being very simple to implement in perl
I think the point of a module is to
  1. save someone from writing what is already written.
  2. compartmentalize functionality so that you can...
  3. keep the logic of the code focused on the task at hand
With that in mind, it does not matter how simple something is. What matters when deciding what to include in a module is
  1. whether it has already been written
  2. whether it will save someone else from writing something
  3. whether it falls under the domain of the module at hand
So in my eyes, the functions that gbarr refused to add to List::Util should be there. And because they are not there, the utility of the module is less than it could be.


Carter's compass: I know I'm on the right track when by deleting something, I'm adding functionality

Comment on On what to add and omit from a CPAN module
Re: On what to add and omit from a CPAN module
by Corion (Pope) on Aug 24, 2007 at 20:29 UTC

    For a counterpoint, see the recent discussion on p5p regarding parent.pm, which was mostly about base.pm having too many magic features that fail in unexpected ways.

    The functions you want have been written and they live in List::MoreUtils, which is a bit inconvenient, but they are still there.

      Excellent point, so what we need is a pointer to List::MoreUtils from List::Util.


      Carter's compass: I know I'm on the right track when by deleting something, I'm adding functionality

        it's in the "See Also" section of 1.19, released "10 Dec 2006"

Re: On what to add and omit from a CPAN module
by girarde (Friar) on Aug 28, 2007 at 13:53 UTC
    Seen that before. There is an Active Directory related module that does not provide for exporting object handles, just the object names.

    Since the next thing I always did with the name was bind to the object to get a handle, I went in and cut out the middle man.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://634956]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (14)
As of 2014-10-23 13:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (125 votes), past polls