0.8.4-SNAPSHOT Arrow_down_16x16
  • (rem-dom s x dom)
  • (rem-dom s x dom seenset)

0 Examples top

Log in to add / edit an example.

See Also top

Log in to add a see also.

Plus_12x12 Minus_12x12 Source clojure/core/logic.clj:479 top

(defn rem-dom
  ([s x dom]
     (let [x (root-var s x)]
       (rem-dom s x dom nil)))
  ([s x dom seenset]
     (let [v (root-val s x)
           s (if (subst-val? v)
               (let [new-doms (dissoc (:doms v) dom)]
                 (if (and (zero? (count new-doms)) (not= (:v v) ::unbound))
                   (update-var s x (:v v))
                   (update-var s x (assoc v :doms new-doms))))
               s)]
       (sync-eset s v seenset
         (fn [s y] (rem-dom s y dom (conj (or seenset #{}) x)))))))
Vars in clojure.core.logic/rem-dom:
Used in 0 other vars

Comments top

No comments for rem-dom. Log in to add a comment.