(you also seem to be leaning heavily on some rather strict definition of "list" that you have failed to qualify, that I have seen).
The model supposedly broken by the change is that $ returns a scalar and @ returns a list. I understood this to mean "a variable number of scalars". Is there another possibility?
You may have interpreted the word "context" in a rather strict fashion
My posts abolish the claim that introducing $a->@* "breaks the original model of sigils completely", that model supposedly being that the sigil is an indicator of the the type of the value returned. It's not.
To determine whether an expression starting with $ returns, one must also examine the rest of the expression and/or the context (in the larger sense). ($x vs @a = $x->(); vs $a = $x->();)
To determine whether an expression starting with @ returns, one must also examine the context (in the larger sense). (@a = @x; vs $a = @x;)
If I hadn't interpreted "context" narrowly, shmem would have been arguing against himself.. Any splitting of hairs is in trying to understand his disagreement, for he has yet to mention which of my premises he disagrees with, and he has yet to point out a logic error.
- "I want the type of return (scalar or list) to be as close to the assignment operator as possible"
- "Except demerphq is mistaken. Perl5 sigils don't denote the type of result that will be returned."
- "I am with demerphq on that: It breaks the original model of sigils completely"