An lvar unified with a keyword behaves differently from a keyword

Description

(run 1 [q]
(fresh [x]
(== x :a)
(== q ({:a 0} x))))
=> (nil)
(run 1 [q]
(fresh [x]
(== x :a)
(== q ({:a 0} :a))))
=> (0)
(run 1 [q]
(fresh [x]
(== x :a)
(== {:a 0} {x q})))
=> ()
(run 1 [q]
(fresh [x]
(== x :a)
(== {:a 0} {:a q})))
=> (0)

Environment

None

Activity

Show:

Details

Assignee

Reporter

Priority

Created January 16, 2017 at 1:39 AM
Updated January 16, 2017 at 1:39 AM