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"?

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.

Nicholas Clark

Reply via email to