Re: Undefine mixed data

[email protected] (Polgár Márton)
Newsgroups perl.perl6.users
Message-ID <VI1P195MB00141571B8762D96F3FC99DBFEBE9@VI1P195MB0014.EURP195.PROD.OUTLOOK.COM>
On 2023. 03. 14. 4:42, rir wrote:
>      undefine seen at:
>        <unknown file>, line 1
>      Will be removed with release v6.e!
>      Please use another way: assign a Nil; for Arrays/Hashes, assign Empty or () instead.
>
> Will that deprecation require a conditional and two assignments
> for mixed data?
>
> [$a, @a, $b, %c, $c, &d].map: { .&undefine};
>
> [$a, @a, $b, %c, $c, &d].map(
>      { $_ = $_ ~~ (Associative,Positional).any ?? Empty !! Nil });

And even those ways don't seem too convincing... after all, it's more a 
question of containerization if assigning Nil will cut it or not. I 
didn't know about undefine but it appeared to me as an issue that you 
can just assign Nil to an Array and get something that is not the 
default value - moreover, it doesn't even evaluate to boolean False!

It seemed like something that can wait and that could cause a lot of 
friction as a breaking change but I think it would make overwhelmingly 
more sense to make Nil always set the default. It is a special value of 
a special singularity type on its own; it's questionable whether it 
should ever appear as an assigned element of a composite container but 
to make it STORE in a special, resetting way, seems kind of a 
no-brainer, apart from the "breakage"...
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.