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"...

Reply via email to