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

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

Thread Previous | Thread Next
From:
Martijn Lievaart
Date:
August 27, 2021 18:23
Subject:
Re: PSC #034 2021-08-20 - "Namespaces Special"
Message ID:
93f953f6-57ad-9787-4a23-8fce8745b8b2@rtij.nl
Hi,


Thanks for the excelent writeup!


Op 27-08-2021 om 14:08 schreef Paul "LeoNerd" Evans:

...
>    * What is the actual name for the fully-qualified namespace used by
>     these new functions? We used "builtin" during the discussion, but if
>      you have to `use` a module to get at them they can hardly be said to
>      be built-in


std::<function> is nice and short, even if a bit c++ish.


>
>    * What is the name of the shim-loader pragma module used to obtain the
>      shortname lexical aliases? It could match the function namespace,
>      but it doesn't have to. Other candidates include "function" or
>      "functions". Though they bear a visual similarity to the "feature"
>      module, which we are trying to avoid. Maybe there are some other
>      words to be found.


use std '<function>'; would serve I think.


>    * What functions to actually include in this new namespace? We already
>      have quite a few candidates for places to look for existing ideas,
>      which should be sufficient to try out the mechanism before we think
>      about adding actually-new ones:
>        + `Scalar::Util`
>        + Existing features like `fc`
>        + UNIVERSAL.c
>        + The badly-named `Internals::`
>        + Commonly-used POSIX functions like `ceil()`
>        + Rarely-used POSIXisms in core perl like `gethostbyname`


I cannot remember the last time I used ceil, but I use gethostbyname a 
lot. But that may just me. I do not see a huge added value from removing 
gethostbyname and others from the global namespace other than 
orthogonality, but I  don't care to much either.


>
>    * Should it interact with `use VERSION`? Since we're already in a
>      world where `use VERSION` implies strict + warnings + a feature
>      bundle, it would be easy enough to suggest that it also pulls in a
>      function bundle of the same version. It would be nice if you could
>
>          #!perl
>          use v5.40;
>          say "The reftype of arrays is ", reftype [];


What to include and what not? As there is no backwards compatibility 
issue, it is just a matter of taste and bikeshedding, but I think 
restraint should be excerised. Once the deamon is out of the box, it 
cannot be put back.


HTH,

M4



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