>>         It is possible to extend expression types to include
>>         an N peer boolean expression that contains a list of
>>         expressions and applies the same operator to each.
>> 
>>         Like a 'flatened' part of a binary tree:
>>         'if (a | b | c | d)' instead of 'if (a | (b | (c | d)))'
>> 
>>         (There are probably logical precedence rules to automatically
>>         work out this sort of thing from a binary tree and group
>>         leaf nodes. I bet its a one liner is lisp!).
>> 
>>         Attached is some idl, does this 'express' a boolean
>>         expression model for the GUI use cases you and
>>         Matthew have 'expressed'?
>
>That looks good to me.  Just to see if I understand... would the unary
>node type be used for the leaf nodes in the tree?  where you'd have a
>field name, a condition and a value?  e.g.("Sender", "contains",
>"spambot")   Since you have an NPeer node, isn't the Binary node just a
>special case of that?  Would it make things simpler to not have a Binary
>node type and just use Unary and NPeer?  Or maybe I'm overlooking
>something.
>

        Unary: This would be for operations like: ((!a) || (!b))
        or (!(a && (b || (!c)))). This contains a single expression
        which could be a condition.
        
        Ah! redundancy, good point.
        I think both Unary and Binary can be represented by the NPeer
        interface.
        
        I will modify the directory query interfaces to take
        a binary expression interface and for the moment
        use a specialized boolean expression (i.e. the simple
        match all or one which was previously defined) for
        implementations/clients to use.
        
Thanks,
Paul.

        
| ? + ? = To question
----------------\
   Paul Sandoz
        x19219
+353-1-8199219
 



Reply via email to