HaloO All,
it just occured to me that the lone single character reference operator '\' is badly Huffman coded! These days references are pretty much automagical. So my idea is to replace '\' with e.g. '\*' which puts it in opposition to the flattening '*' and '**' operators. And there should be a little bit more verbose form 'ref' which is much like a context enforcer like 'int' and '+', '~' and '?'.
This gives:
my @x = (1,2,3);
my $x = [1,2,3]; my $x = ref (1,2,3); # also without ()? my $x = \* (1,2,3); # also without ()?
Accepting the above completes the junction constructing operators:
my $x = 1|2|3; # any my $x = 1^2^3; # one my $x = 1&2&3; # all my $x = 1\2\3; # none
The rational behind the none delimeter is that 'none(a,b,c)' is '!a && !b && !c' which DeMorgan tells us is 'a \\ b \\ c' with '\\' beeing the high precedence version of 'nor'. So we end up having a third orish operator:
if $a && $b { ... } # and if $a || $b { ... } # or if $a ^^ $b { ... } # xor if $a // $b { ... } # err if $a \\ $b { ... } # nor
Well? -- TSa (Thomas Sandlaß)