これをcore.logicで試しました
(必要 [clojure.core.logic :as l]) (l/ラン* [q] (l/フレッシュ [abc] (l/membero a [1]) (l/membero b [4 5]) (l/membero c [1 2]) (l/== q [ab]))))
結果が[1 4] [1 5]
しかし、そうでした[1 4] [1 4] [1 5] [1 5]
それから私はそれで遊んで始めて、これを見つけました:
(必要 [clojure.core.logic :as l]) (l/ラン* [q] (l/フレッシュ [abc] (l/membero a [1]) (l/membero b [4 5]) (l/membero c [1 1 1 1 1 1 1 1]) (l/== q [ab]))))
;; => ([1 4] [1 4] [1 4] [1 5] [1 4] [1 4] [1 5] [1 4] [1 5] [1 4] [1 5] [1 5] [1 5] [1 5])
[1 5]
散在している場所[1 4]
何が起こっている?この繰り返しは、機能またはバグであるはずですか?