当一个(正确的,积分的,非负的)域被赋予一个lvar被乘以时,Core.logic错过了fd / *的解决方案,没有域工作

时间:2014-04-28 06:10:00

标签: clojure clojure-core.logic

fd/*似乎在处理负数时遇到问题,即使它们只是常数。它在许多情况下都有效。我做错了什么?

(require '[clojure.core.logic :as l]
         '[clojure.core.logic.fd :as fd])

; Works, returns (1):
(l/run* [q] 
        (fd/* -1 q -1))

; Works, returns (1):
(l/run* [q] 
        (fd/in q (fd/domain 1))
        (fd/* -1 q -1))

; Fails, returns ():
(l/run* [q] 
        (fd/in q (fd/domain 0 1))
        (fd/* -1 q -1))

0 个答案:

没有答案