HaloO, Martin D Kealey wrote:
Surely it is more important that ($a ne $b) should be equivalent to not( $a eq $b ) regardless of whether either variable contains a junction?
IIRC, ne is just an abbreviation of !eq where ! in turn as a meta operator means to pull the negation to the front. Are junctions overruling that mechanism? I think we should have negation only on a single boolean not on the operator itself which is strange if used multiple times. That is, the operator that sees the junction is the operator the negation was applied to. IOW, I would expect if $a ne $b {...} if $a !eq $b {...} if !($a eq $b) {...} unless $a eq $b {...} to be fully equivalent forms where the negation is moved further to the top of the parse tree from step to step. This raises the question how the negation meta operator relates to other meta operators e.g. does ([!==] $a,$b,$c) mean !([==] $a,$b,$c). I have no idea how difficult such negation propagation in parse trees is. Regards, TSa. -- "The unavoidable price of reliability is simplicity" -- C.A.R. Hoare "Simplicity does not precede complexity, but follows it." -- A.J. Perlis 1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan