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

欢迎!请查看关于页面获取更多关于该功能的信息。

0
core.logic
我正在尝试实现一个类似于 (map + list1 list2) -> list3 的关系
我的代码是



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

(defn zip+o [x y z]
  (l/conde
    [(l/== () x) (l/== () y) (l/== () z)]
    [(l/fresh [fx rx fy ry fz rz]
           
            
           
            
           
            

)
(def expected-solutions
  #{{:x [0 0] :y [1 1]}
    {:x [0 1] :y [1 0]}
    {:x [1 1] :y [0 0]}

    {:x [1 0] :y [0 1]}})
(l/run* [q]
        (l/fresh [x y]
              

             
             



             


             
             
             
             
           
           
           
           


           


           
           
           



           

2 答案

0

评论者:pbaille

这个测试实际上有点奇怪,因为它引入了一个新的lvar z,并给它分配了0..9的范围,但从未使用它...

0
参考:https://clojure.atlassian.net/browse/LOGIC-185(由alex+import报告)
...