Open toddr opened 4 years ago
Some features from Scalar::Util for instance might be good core keywords.
Well in the case of Scalar::Util
I disagree even moreso than usual. Scalar::Util
is so far joined-at-the-hip to core perl it practically is core perl. Really basic core things like weaken are only accessible via it. It has to be built against core. It is required by core. It really is part of core language.
Supposing we wanted to move weaken
into being a core operator instead of an XSUB from S:U. I really don't see much saving in
use feature 'weaken';
weaken( my $weakself = $self );
vs
use Scalar::Util 'weaken';
weaken( my $weakself = $self );
unless we were going to bundle it as part of some automatically-available featureset as per #4
Exactly. IMO it should just be
weaken( my $weakself = $self );
Righty, but that's going to require the default-enabled feature bundle as hinted by my reference to #4. So that all depends on whether that happens, really
I'm mixed about this. "more batteries included" is all well and good if you ship "the right kind" of batteries, but everyone's opinions on those batteries will differ.
E.g. right now core perl doesn't ship any sort of asynchronous/events system and I think that is a good thing. You might imagine I'd be biased and want to suggest IO::Async for core, but in truth I find the healthy competition between IO::Async/Mojo/POE to be useful - everyone is always playing catchup with everyone else and importing the best features while inventing their own, and the state of the surrounding technology grows as a result. If one or other falls out of favour from the community then that's fine - no one is held more "important" than the others because of core "favouritism".
On the other hand, things I feel more should be in core are things like Syntax::Keyword::Try, to finally get a decent set of try/catch semantics on a core-accessible level. But given that it's an easily
cpan
'ed module with no non-core dependencies, I wonder even then what benefit there is to be had by doing so.Finally I shall remind people of "The CGI.pm Problem". Nuff said? ;)