From: Ian T. <ian...@gm...> - 2011-07-19 10:02:45
|
Rob Arthan writes about parsing the following predicate. {} = %lambda x: %Z @ [y: %Z | x < y] \/ [y:%Z | y < x] ISO Z assigns precedences to operators. Function construction binds tighter than relation operator application, which binds tighter than disjunction (whether predicate or expression). Those precedences have the effect of requiring the parse indicated below by parentheses. ({} = (%lambda x: %Z @ [y: %Z | x < y])) \/ [y:%Z | y < x] Only then is any ambiguity in the use of logical operations considered. Since the left disjunct is a predicate, this disjunction is a predicate. CZT (and also CADiZ) find the parse described above. Does that work-around the issue, or did I miss something? Regards, Ian |