[LOGIC-101] nom/hash and variable noms Created: 07/Jan/13 Updated: 07/Jan/13 Resolved: 07/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 |
|
It would be nice if nom/hash handled variable noms: (run* [q]
(nom/fresh [x]
(fresh [y]
(nomo y)
(nom/hash y x)
(== x y)))
This returns '(_0) instead of (). Fortunately, a work-around is to use != instead of nom/hash when comparing two noms. However, it's bad that this silently does something unexpected. |
| Comments |
| Comment by Nada Amin [ 07/Jan/13 8:05 AM ] |
|
logic-101.diff has workaround + test. |
| Comment by David Nolen [ 07/Jan/13 8:34 AM ] |
|
fixed, http://github.com/clojure/core.logic/commit/770e027858bde711121abb9267854966a4dd92ed |