示例
user> (def tmp {\a 1})
{\a 1}
user> (logic/run* [q] (logic/featurec tmp {\a q}))
(1)
user> (logic/run* [q] (logic/fresh [x] (logic/== x \a) (logic/featurec tmp {x q})))
()
第一次逻辑搜索符合预期。第二次应该返回与第一次相同的结果,但它却失败了。
在core.logic中存在测试,用于覆盖fresh下featurec的另一种模式,即:(logic/featurec {x q} tmp)
。但反之,这种模式似乎并不总是有效。
我被建议在这里提出这个问题,因为我无法创建具有访问Jira以提交这个问题的账户。