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

Reply via email to