Re^2: Modern::Perl
by perrin (Chancellor) on Jan 28, 2009 at 19:15 UTC
|
It's not a pragma in core, so the name modern is not an option.
I'm glad I'm not the only one who thinks this. Lowercase module names outside of the core are a sure sign of hubris, and I usually avoid authors who create them.
| [reply] |
|
|
| [reply] |
|
|
/me thought we liked hubris?
Perhaps you mean vanity?
| [reply] |
Re^2: Modern::Perl
by massa (Hermit) on Jan 29, 2009 at 13:03 UTC
|
It's not a pragma in core, so the name modern is not an option.
Why o why? With each version of Perl, a new "modern" pragma enabling each and everything would be really nice. So, where do I plea for it to be included in the core?? :-)
[]s, HTH, Massa (κς,πμ,πλ)
| [reply] [d/l] |
|
|
[Where] do I plea for it to be included in the core?? :-)
You don't. That's the surest path to stagnation and ossification. The module would then have to be backwards compatible until the implosion of Perl 5, and I'm not interested in that.
When this pulls in other modules such as signatures and Method::Signatures, it'll have non-core dependencies that prevent it from being considered for core, and that's fine too.
| [reply] |
|
|
But that is kind of my point. See, foreach version of perl >= 5.12, we should have a modern.pm pragma that will croak unless you have some (modern) CPAN modules installed and at the same time, and it will enable the most-modern things perl+CPAN have to offer at the time.This way,
use modern
in 5.10 would enable strict/warnings/say/given/err etc, in 5.12 it will enable _that_ and maybe signatures, mro 'c3', in 5.14 ... you get my drift.
[]s, HTH, Massa (κς,πμ,πλ)
| [reply] [d/l] [select] |
|
|
Re^2: Modern::Perl
by DrHyde (Prior) on Jan 29, 2009 at 11:12 UTC
|
Damnit, I want to down-vote for the silly comment about 5.8.x not being modern, and up-vote for the bit about the module name. | [reply] |
|
|
Exactly. Especially since the silly comment also missed the point that I noticed as an obvious issue when I read the spec for Modern::Perl and that may have been the point of this thread. Code that uses Modern:Perl will be more likely to break when Modern::Perl or perl is updated since the spec declares that the state exposed by Modern::Perl will change (and in unspecified or unforeseen ways).
Cute name. Cute idea. Not something I'll be using as spec'd.
| [reply] |
|
|
Code that uses Modern:Perl will be more likely to break when Modern::Perl or perl is updated....
First, it's not for you. You're a Perl guru. You don't need it. You know how to twist and mold Perl to behave how you like through pragmas and modules.
Second, I'm likely to add a year flag, so that people can (optionally) request a specific-but-recent version of modernity.
Third, anyone who blindly upgrades code without testing it has bigger problems than a silly little module like this.
| [reply] |
|
|
Re^2: Modern::Perl
by metaperl (Curate) on Jan 29, 2009 at 14:29 UTC
|
Perhaps there should be a way for this module to gracefully age....
That would be silly. Either a Perl version is modern or it's not. 5.10 is modern. 5.8.x is not.
Perhaps you mean a version of Perl is 'current' or not.
Well, that's what I'm trying to get at. Modern is relative. A particular version of perl (and associated features) is not.
What is modern changes with time. Just think clothing styles... bell bottoms were modern at one time (1970). The time is fixed. Bell bottoms as being modern is not.
Likewise, the features that you currently deem 'modern' are only modern in our eyes now. There is no doubt about what features you see as avant-garde, best practices, etc. But that is a pick for this time and this version of perl.
| [reply] |
|
|
| [reply] |