Peter Dalgaard <p.dalgaard@biostat.ku.dk> writes:
>
> Barry Rowlingson <B.Rowlingson@lancaster.ac.uk> writes:
>
> > Liaw, Andy wrote:
> > > Stupid me: fell into this trap:
> > >
> > >>0 == 0 == 0
> > > [1] FALSE
> > >
> >
> > Ouch!
> >
> > Python's comparison operators don't have this trap, since they
> > unravel each comparison pair in a chain so that:
> >
> > (A op1 B op2 C)
> >
> > becomes:
> >
> > (A op1 B) and (B op2 C)
>
> [chop]
>
> > Of course old hand Fortran programmers understand all this since the
> > second thing they learnt (after learning how to tap the space bar six
> > times) was the order of precedence of operators...
>
> SAS does likewise, at least in recent versions. Whether this kind of
> syntactical exceptions is actually helpful is debatable. The problem
> is that you get to teach people that comparisons are binary operators
> except when they are not...
>
> I wonder how Python actually manages this; doesn't look like something
> that is easy to implement in a yacc-style parser.
This archive was generated by hypermail 2.1.8 : Fri 18 Mar 2005 - 02:38:22 EST