<< Back to previous view

[LOGIC-61] partial-map in ClojureScript does not correctly unify map members Created: 25/Oct/12  Updated: 28/Jul/13  Resolved: 26/Oct/12

Status: Closed
Project: core.logic
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Defect Priority: Major
Reporter: Paul deGrandis Assignee: David Nolen
Resolution: Completed Votes: 0
Labels: None


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)


(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}

Comment by David Nolen [ 26/Oct/12 6:04 PM ]

fixed, http://github.com/clojure/core.logic/commit/d39fd90ae096c1a940e79ea898a9f86d4b106362

Generated at Tue Jan 23 18:25:42 CST 2018 using JIRA 4.4#649-r158309.