Support complex nested negations of arbitrary depth
WilliamParker opened this issue · 0 comments
WilliamParker commented
As mentioned in #149 (comment) our existing functionality for extracting complex nested negations added in #149 only works for a single nested layer. That is, we can do things like
[A (= ?a a)]
[:not [:and [B]
[:not [C (= join-field ?a]]]]
but not things like
[A (= ?a a)]
[:not [:and [B]
[:not [:and [C]
[:not [D (= join-field ?a)]]]]]]
Admittedly this kind of three-layer-deep negation is not the most common case, but I've seen cases where we had to work around this shortcoming before.