develooper Front page | perl.perl5.porters | Postings from September 2021

Re: PSC #034 2021-08-20 - "Namespaces Special"

Thread Previous | Thread Next
From:
Dan Book
Date:
September 2, 2021 14:18
Subject:
Re: PSC #034 2021-08-20 - "Namespaces Special"
Message ID:
CABMkAVVPMFbh_G0owiRcQjwGyNQS0CzZJnEWnXZzaQKSt0fg=Q@mail.gmail.com
On Thu, Sep 2, 2021 at 4:37 AM demerphq <demerphq@gmail.com> wrote:

>
>> Perl 5.42 decides builtin::foo should be into CORE namespace.
>>
>
> I assume that when you say the CORE namespace you mean globally available
> in all namespaces. If so then I personally would say that we would never do
> that. The whole point of the builtin namespace is so that we *stop* having
> functions that are injected into your namespace and which might break
> backwards compatibility. With the builtin namespace (reminder "builtin" is
> at this point purely a placeholder for whatever name is eventually chosen),
> all new functional additions to the language are insulated from breaking
> code, AND we provide a clean mechanism for people using older perls to
> obtain the equivalent functions in their older perls so they can run more
> modern code. Eg, we want to as much as possibly disconnect the perl version
> from the subs that are available, and whether having them available could
> break any code, either backward or forward compatible.
>
> So I cant imagine any reason why would move something from builtin to
> CORE. In fact I would say that one we have builtin I cannot see any reason
> we would add /anything/ to CORE at all, maybe there are arcane reasons why
> some special function might *have to*, but any true function should never
> be added to the language via CORE, there is simply no need to do so at all.
>
> NOTE, everything I say here is my interpretation of the consensus we had
> in the call about the namespaces, obviously I dont speak for the entire
> community and others might see it differently, but I believe I am not going
> to far out on a limb with this. I mean, turn it around, if we have a
> function in builtin why would we move it into CORE? What would we gain
> besides headaches?
>

This is a somewhat orthogonal concern; CORE::say and CORE::fc exist for
example, but are not globally available. Of course we would continue to
provide new functions only as opt-in for a particular scope; the mechanism
of opt-in is all we are considering here.

-Dan

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