On Sat, Feb 05, 2005 at 02:39:26PM +0000, Nicholas Clark wrote:
> On Sat, Feb 05, 2005 at 10:04:02PM +0800, Autrijus Tang wrote:
> > On Sat, Feb 05, 2005 at 01:52:05PM +0000, Nicholas Clark wrote:
> > > >     #t              and (0 | 6) < 2     # reduction in boolean 
> > > > context(!)
> > > 
> > > Why is it allowed to do this?
> > 
> > Because "and" forces boolean context to determine whether it
> > short-circuits or not.  However, I should've make it clear that
> > if the left hand side  evaluates to #f, it will return the junction
> > itself, not #f.  This is true in both spec and pugs implementation.
> 
> (Without understanding the background to the implementation of junctions)
> why are you using a short-circuiting "and"?

Well, because perl5's "and" is short-circuiting, and I assume perl6's
"and" is no exception...

> Surely if you take an expression that contains the junction (a|b) and
> convert that to ... a ... and ... b ... then you are implying an order to
> the elements of a junction? I didn't think that junctions had order - I
> thought that they were sets.

Sure.  The question is whether the junctions should autothread over the
whole comparison chain (globally), or only to a specific binary
comparison (locally).

Thanks,
/Autrijus/

Attachment: pgpjPGowxePCS.pgp
Description: PGP signature

Reply via email to