Details
-
Type:
Defect
-
Status:
Resolved
-
Priority:
Blocker
-
Resolution: Completed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Labels:
Description
(run* [q]
(fresh [x y]
(!= [1 x] [y 2])
(== q [x y])))
Does not return the following expected reified value:
(([_0 _1] :- (!= [_0 2] [_1 1])))
Even more bizarre things happen with the following:
(run* [q]
(fresh [x y z]
(!= [1 x z] [y 2 3])
(== q [x y])))
z leaks out in the reified value.
(run* [q]
(fresh [x y z]
(!= [1 x z] [y 2 3])
(== q [x y z])))
We only see one var constraint in the reified value.