On Wed, Sep 03, 2014 at 06:25:25PM +0100, Paul LeoNerd Evans wrote: > On Wed, 3 Sep 2014 12:42:19 -0400 > Jarkko Hietaniemi <jhi@iki.fi> wrote: > > > These just the top off my head and while typing to my phone. There > > is no reason why they need to be in an extension, except That Is The > > Way It Has Been. > > Hmm.. I'd argue the converse, at this stage. > > There's no reason /to/ add them as core operators when they can live in > Scalar-List-Utils' .xs file. Any nontrivially sized program these days > is likely to have ListUtils.so loaded anyway. > > Maintaining all of these as simple functions in the XS code is easier > IMHO than maintaining them as truely-core ops. > > What would you suggest as the alternative? > > use feature qw( weaken ); > > weaken( my $ref = $otherref ); > > perhaps? I don't see the difference that makes to the end-user. If it were automatically loaded by using "use 5.XXX.YYY;", it makes a difference. No more remembering wether it's "List::Utils" or "List::Util" (yeah, after all those year, I still forget). It also means its subs will be listed in "perlfunc.pod". It may sound trivial, but little things like that do have a (positive) impact on end-user experience. We all make fun of PHP with its myriad of functions in the main namespace, but I've yet to encounter a PHP user who says "gosh, I really wish I had to start my programs with lots of include/use statements". AbigailThread Previous | Thread Next