develooper Front page | perl.perl6.users | Postings from March 2023

Re: Undefine mixed data

Thread Previous | Thread Next
From:
Polgár Márton
Date:
March 14, 2023 12:35
Subject:
Re: Undefine mixed data
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"...


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