in reply to Modern::Perl

[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.

[In] the name of saving typing, I clearly like use modern over use Modern::Perl....

It's not a pragma in core, so the name modern is not an option.

Replies are listed 'Best First'.
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.

      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.
      I think of lowercase module names as being pragma-like. Whether they are in core or not is secondary to whether they perform pragma-like functions.

      In other words, location of the module is not nearly as important as its effect on the remaining body of code.

      /me thought we liked hubris?

      Perhaps you mean vanity?

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 (κς,πμ,πλ)
      [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.

        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 (κς,πμ,πλ)
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.

      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.

      - tye        

        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.

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.

      Perhaps you mean a version of Perl is 'current' or not.

      I meant modern.

      Likewise, the features that you currently deem 'modern' are only modern in our eyes now.

      I'll release a newer version when what's modern changes. It's just software.