On Wed, Feb 16, 2005 at 01:13:53PM +1100, Damian Conway wrote: > Larry wrote: > > 0 < $x < 10 > >after all--the problem with rewriting that as > > 0 < $x and $x < 10 > >is that it should only work as long as the two values of $x remain > >entangled so that the always refer to the same abstract value. > > That's certainly true. But I think the real problem there is in mistakenly > treating Perl 6 comparators as binary ops (with n-ary sugar), rather than > as genuine n-ary ops. > > That is, a junction must autothread early, and over the entire operation > (or at least, over the entire equi-precedential part of the operation) in > which it's used.
Uh oh, I hadn't caught that particular nuance. Is it indeed over the entire equi-precedential part of the operation, or just over the chained operators? For example, given $x = -1 | 10; $ref.meth1($x).meth2($x) are the meth1 and meth2 calls considered to be "equi-precedential", with a result of ... any( $ref.meth1(-1).meth2(-1), $ref.meth1(10).meth2(10) ) ? And what of ... $ref.meth1($x) + $x are the $x still "tied" to each other even though they're being used at different levels of precedence? I.e., do I get any( $ref.meth1(-1) + -1, $ref.meth1(10) + 10) or any( any( $ref.meth1(-1) + -1, $ref.meth1(-1) + 10 ), any( $ref.meth1(10) + -1, $ref.meth1(10) + 10 ) ) ? Pm