Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change


by polettix (Vicar)
on Mar 06, 2006 at 11:41 UTC ( #534667=note: print w/replies, xml ) Need Help??

in reply to Re^3:
in thread

[List::MoreUtils]... is chock full of functions of dubious utility and quality.
Could you elaborate a bit about the quality? Just curious, could be an interesting source for guidelines and best practices (and probably a meditation by its own).

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

Don't fool yourself.

Replies are listed 'Best First'.
by diotalevi (Canon) on Mar 06, 2006 at 14:26 UTC

    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.

    ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

      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 :)

      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.

        ⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (6)
As of 2018-12-16 11:03 GMT
Find Nodes?
    Voting Booth?
    How many stories does it take before you've heard them all?

    Results (70 votes). Check out past polls.

    • (Sep 10, 2018 at 22:53 UTC) Welcome new users!