What I pointed out is not only about users being familiar with boolean
operators or not.
Boolean operators work in pairs. With more than two conditions,
grouping is needed. If parentheses are not placed, the grouping is
left to be done by the software when evaluating the expression, with
unpredictable results.
For instance, the following expression:
1 && 0 || 1 || 0 && 0
...may be evaluated as...
( 1 && 0 ) || ( 1 || 0 ) && 0 = 0
...or perhaps...
1 && (((0 || 1) || 0) && 0) = 0
...or maybe...
( ( (1 && 0) || 1 ) || 0) && 0 = 0
Actually, it evaluates it to 1 in FF3´s console. I guess it is grouped
as:
( 1 && 0 ) || 1 || ( 0 && 0 )
The ambiguity of the original expression is avoided (by definition)
with an unambiguous grammar . That is, one that doesn't allow mixing
AND with OR operators:
ANY of ( 1, 0, 1, 0, 0 ) are true = 1
ALL of ( 1, 0, 1, 0, 0 ) are true = 0
ANY OF (
ALL of ( 1, 0 ) ,
1,
ALL of ( 0, 0 )
) are true = 1
"ANY / ALL of ( ... )" is a form of prefix notation. Therefore it not
only reduces error and confusion, but is also far better suited for a
GUI that the written (infix) form.
--
Santiago Bustelo // icograma
Buenos Aires, Argentina
________________________________________________________________
Welcome to the Interaction Design Association (IxDA)!
To post to this list ....... [EMAIL PROTECTED]
Unsubscribe ................ http://www.ixda.org/unsubscribe
List Guidelines ............ http://www.ixda.org/guidelines
List Help .................. http://www.ixda.org/help