develooper Front page | perl.perl5.porters | Postings from July 2020

Re: Announcing Perl 7 Perl5 Porters <perl5-porters@perl.org>

Thread Previous | Thread Next
From:
Christian Walde
Date:
July 3, 2020 17:34
Subject:
Re: Announcing Perl 7 Perl5 Porters <perl5-porters@perl.org>
Message ID:
op.0m6we7rlydyjqt@xenwide.vpn.udag.de
On Fri, 03 Jul 2020 19:22:03 +0200, demerphq <demerphq@gmail.com> wrote:

> On Tue, 30 Jun 2020 at 13:37, Paul "LeoNerd" Evans
> <leonerd@leonerd.org.uk> wrote:
>>
>> On Tue, 30 Jun 2020 12:02:10 +0200
>> Salvador FandiƱo <sfandino@gmail.com> wrote:
>>
>> > It you want to avoid the "use v7;" line, then you should be able to
>> > tell perl explicitly in some way you want the 7 semantics. The only
>> > sane way I can see for that, is using different file terminations.
>> > I.e. p7, pl7, pm7, t7.
>> >
>> > And when perl 8 comes out, you can switch to p8, pl8, etc.
>>
>> This would be an odd suggestion.
>>
>> I believe the main motivation for people saying they don't want to
>> "use v7" is precisely to avoid having to update to "use v8" and so on
>> in the future; having to chase the latest-and-greatest by making a
>> single character change to their code every decade or so.
>
> Personally I do not see that or pleasing those people as the reason
> for doing it.
>
> I see it as simply providing a new answer to what version perl is
> expecting when it starts parsing. Eg, all the stuff "above" the use
> statement.
>
> As long as the rule is "perl 5" variant, we have a problem that anyone
> create a document that is a mix of a 5 and something else.
>
> We want to eventually ditch the perl 5 variant, and move to a saner
> perl 7 or 8 variant, which means that ast some point we want the
> parser to not know about 5 AT ALL, except when it throws exceptions.
> Making the rule be "the parser starts out expecting perl 5" simply
> does not make sense, for *any* version. Making the rule be "the parser
> starts out expecting perl $Latest" does.
>
> The people that use this to get the latest version are just making
> their lives difficult. Nobody sane should do it on purpose.

That circles back to the question of what you envision to happen in the future with unversioned perl 5 code. (Language fork, empower modules@, frankenstein via CPAN.pm, etc..)

It also is completely orthogonal to the question of use 7; being mandatory or not. (You can still have it parse it as perl 7, and fail with ETOOVAGUE at a lack of version at end of parse or before any other parse error is thrown.)

-- 
With regards,
Christian Walde

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About