[LOGIC-97] disequality pruning Created: 04/Jan/13 Updated: 04/Jan/13 Resolved: 04/Jan/13 |
|
| Status: | Resolved |
| Project: | core.logic |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Defect | Priority: | Major |
| Reporter: | Nada Amin | Assignee: | David Nolen |
| Resolution: | Completed | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
| Description |
|
Why we need disequality pruning in updatec: (run* [q]
(fresh [x y z]
(!= x [y])
(== x [z])
(== y 'foo)
(== z 'bar)))
Instead of returning just '(_0), this snippet returns '((_0 :- (!= ([bar] [foo])))). |
| Comments |
| Comment by Nada Amin [ 04/Jan/13 1:02 PM ] |
|
Patch diseq-pruning.diff gives up on using updatec in favor of correctness. Test case incuded. |
| Comment by David Nolen [ 04/Jan/13 1:13 PM ] |
|
fixed, http://github.com/clojure/core.logic/commit/0beb770dc0a072f0dcb888f0df2978a5632d92bf |