Details

Type: Defect

Status: Open

Priority: Major

Resolution: Unresolved

Affects Version/s: None

Fix Version/s: None

Component/s: None

Labels:None
Description
Here are two examples using fixc:
(run* [q] (fresh [x y] (fixc [x y] (fn [[x y] a _] (!= x 1)) (fn [[x y] a] (= (walk a x) (walk a y))) '...) (== x y))) (run* [q] (fresh [x y c d] (fixc [x y] (fn [[x y] a _] (!= x y)) (fn [[x y] a] (or (not (lvar? (walk a x))) (not (lvar? (walk a y))))) '...) (== [x y] [[c] [d]])))
The constraint != is reified twice in each example, showing that the fixc constraint indeed ran twice.
For the first example I see the following as a result on master:
Is this what you're seeing? As x isn't even part of the answer I wonder if we should show these constraints?