2024 Clojure 状态调查! 中分享你的想法。

欢迎!请在关于 页面查看更多有关此工作方式的信息。

0 投票
core.logic

当一个统一约束和一个不等性约束应用于同一 lvars 时,它们可能会消除可能性。

`
(run 1 [q]
(fresh [v n]
(== q v)
(!= q v)))

;=> ()
`

然而,当插入一个独立的非等性时,可能性不会被消除。

`
(run 1 [q]
(fresh [v n]

(== q v)
(!= q n)
(!= q v)))

;=> ((_0 :- (!= (_0 _0)) (!= (_0 _1))))
`

我期望这也返回 '()。

1 答案

0 投票
...