diff options
Diffstat (limited to 'src/clojure/contrib/datalog/softstrat.clj')
-rw-r--r-- | src/clojure/contrib/datalog/softstrat.clj | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/clojure/contrib/datalog/softstrat.clj b/src/clojure/contrib/datalog/softstrat.clj index f23bf50f..ca004981 100644 --- a/src/clojure/contrib/datalog/softstrat.clj +++ b/src/clojure/contrib/datalog/softstrat.clj @@ -39,9 +39,11 @@ (let [rules (pred-map pred) preds (reduce (fn [pds lits] (reduce (fn [pds lit] - (conj pds (literal-predicate lit))) - pds - lits)) + (if-let [pred (literal-predicate lit)] + (conj pds pred) + pds)) + pds + lits)) #{} (map :body rules))] (assoc nbs pred preds))) |