Details
-
Type:
Defect
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Completed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
-
Environment:clojure 1.3.0, core.logic 0.6.7
Description
I am not sure if this is actually a bug
user=> (require '[clojure.core.logic :as logic])
nil
user=> (logic/unifier (logic/unifier '{:a ?x} '{:a ?y}) '{:a 5})
nil
user=> (logic/unifier (logic/unifier '{:a ?x} '{:a 5}) '{:a ?y})
{:a 5}
For comparison: here is the result of core.unify (and what I expected)
user=> (require '[clojure.core.unify :as unify])
nil
user=> (unify/unifier (unify/unifier '{:a ?x} '{:a ?y}) '{:a 5})
{:a 5}
user=> (unify/unifier (unify/unifier '{:a ?x} '{:a 5}) '{:a ?y})
{:a 5}
Obviously i meant associative, not commutative.