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

Re^5: Miscellaneous.pm?

by diotalevi (Canon)
on Mar 06, 2006 at 14:26 UTC ( #534689=note: print w/ replies, xml ) Need Help??


in reply to Re^4: Miscellaneous.pm?
in thread Miscellaneous.pm?

I objected most to the use of prototypes everywhere. I might have found one thing I disliked but I was sure I'd get things wrong if I used it because it's a bag of functions and it'd force some particular syntax on me.

I kind of sort of wish that if the author really believed in those functions that they'd be added to List::Utils directly.

⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊


Comment on Re^5: Miscellaneous.pm?
Re^6: Miscellaneous.pm?
by polettix (Vicar) on Mar 06, 2006 at 15:03 UTC
    I don't think to understand thoroughly, but it probably stems from the fact that I'm English impaired.

    About the syntax, it seems to me that the whole point of both List::Util and List::MoreUtils is to try and mimic the celebrated built-ins for dealing with lists, namely sort, grep and map. This is probably why the two modules are "poisoned with prototypes". The net effect is that you don't have to learn a new, particular syntax, just reuse what you're already comfortable with.

    About the interaction between the two modules, AFAIK the author of List::Util was not willing to include other functions inside it, and this basically led to List::MoreUtils. I wouldn't prepare and maintain a module if I wouldn't believe in what I'm putting into it :)

    Flavio
    perl -ple'$_=reverse' <<<ti.xittelop@oivalf

    Don't fool yourself.

      It's blatantly wrong to try to mimic built-in syntax for non-builtins. That is, I already know it's not a builtin and everyone using it is expected to know that. Given that, it ought to act like a user function!


      BTW, I'm just being blatantly opinionated here.

      ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

        It's blatantly wrong...

        I've been following this thread with curiousity for a bit -- but now I think it's become raw opinion over considered debate.

        Here's what I want to know:

        • Why is it blatant?

        • Why is it wrong?

        Considering that perlsub explicitly discusses using prototypes to mimic builtins, I don't buy blatant. I do know how prototypes can often lead people to unexpected behavior, but sub(&@) seems like one of the safest prototypes to use -- and that's most (though not all) of what's in List::MoreUtils.

        -xdg

        Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (6)
As of 2014-04-19 10:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (480 votes), past polls