Details
-
Type:
Defect
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Completed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
Description
In the most recent changes to the core.logic's CLJS support (LOGIC-60), partial-map does not correctly unify the members within the map:
(m/run* [q]
(m/fresh [pm x]
(m/== pm (partial-map {:a x}))
(m/== pm {:a 1 :b 2})
(m/== x q))))
=> (1)
but,
(m/run* [q]
(m/fresh [pm x]
(m/== pm (partial-map {:a x}))
(m/== pm {:a 1 :b 2})
(m/== pm q))))
=> (#PMap{:a <lvar:x_3>})
The latter should unify to {:a 1}
fixed, http://github.com/clojure/core.logic/commit/d39fd90ae096c1a940e79ea898a9f86d4b106362