A correction for the wrong part:

(defn my-max ([x y] (if (nil? x) y
                        (if (nil? y) x
                            (max x y))))
  ([] nil))

(defn tree-value ^double [tree evaluate ^long depth]
  (let [children (:children tree)]
  (if (or (zero? depth))
    (evaluate (:board tree))
    (let [^double res
          (r/reduce my-max
                    (r/map
                     #(- (tree-value (:tree %) evaluate (dec depth)))
children))]
      (if (nil? res) (evaluate (:board tree))
          res)))))

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to