Brent Dax wrote:
More simply, !($x == 4) is no longer exactly equivalent to ($x != 4).
Correct. Junctive algebra and logic is slightly different. yet another reason not to allow junctions to seep into subroutines by default.
Actually, this suggests to me a flaw in the != operator, not a flaw in
junctions. We should probably make != exactly equivalent to the
negation of ==; this implies that when != gets a junction the type of
junction is reversed (any becomes all, all becomes any).
I don't think so. I think it's important to preserve the useful intuitive distinction between: if $moe|$larry|$curly == $hurt {...} # i.e. any of them hurt and: if $moe|$larry|$curly != $hurt {...} # at least one not hurt and also between: if $moe&$larry&$curly == $hurt {...} # all hurt and: if $moe&$larry&$curly != $hurt {...} # none hurt Damian