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))