aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/datalog/softstrat.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clojure/contrib/datalog/softstrat.clj')
-rw-r--r--src/clojure/contrib/datalog/softstrat.clj8
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)))