diff options
author | Konrad Hinsen <konrad.hinsen@laposte.net> | 2009-04-23 08:25:24 +0000 |
---|---|---|
committer | Konrad Hinsen <konrad.hinsen@laposte.net> | 2009-04-23 08:25:24 +0000 |
commit | 6c99b025c0a2b1afa6736234d3edbf7ea29b1d22 (patch) | |
tree | 1344fe43bf5246b442c6617d265c89d9368fb8e1 /src/clojure/contrib/probabilities/finite_distributions.clj | |
parent | 5427bcb8dc89b1813666aeaa65e51260813c423b (diff) |
monads: better default for which-m-plus in maybe-t
Diffstat (limited to 'src/clojure/contrib/probabilities/finite_distributions.clj')
-rw-r--r-- | src/clojure/contrib/probabilities/finite_distributions.clj | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/clojure/contrib/probabilities/finite_distributions.clj b/src/clojure/contrib/probabilities/finite_distributions.clj index 7dcc280f..3b76b318 100644 --- a/src/clojure/contrib/probabilities/finite_distributions.clj +++ b/src/clojure/contrib/probabilities/finite_distributions.clj @@ -114,13 +114,16 @@ ) -(defn cond-prob - "Returns the conditional probability for the values in dist that satisfy - the predicate pred." - [pred dist] - (normalize-cond - (with-monad cond-dist-m - (m-bind dist (fn [v] (m-result (when (pred v) v))))))) +(with-monad cond-dist-m + (defn cond-prob + "Returns the conditional probability for the values in dist that satisfy + the predicate pred." + [pred dist] + (normalize-cond + (domonad + [v dist + :when (pred v)] + v)))) ; Select (with equal probability) N items from a sequence |