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ß)




Reply via email to