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

Reply via email to