Hi everyone,
I'm pretty sure i'm using trampoline the right way but still I get this
exception:
ClassCastException Clondie24.lib.search$search$minimize__3075$fn__3076
cannot be cast to java.lang.Number
Clondie24.lib.search/search/minimize--3075 (search.clj:47)
here is the code:
(defn search "The recursive bit of the min-max algorithm."
[eval-fn tree depth]
(letfn [(minimize ^double [tree d] (if (zero? d) (eval-fn (:root tree)
(:direction tree))
#(r/reduce my-min
(r/map (fn [child] (maximize (:tree
child) (dec d))) (:children tree)))))
(maximize ^double [tree d] (if (zero? d) (eval-fn (:root tree)
(:direction tree))
#(r/reduce my-max
(r/map (fn [child] (minimize (:tree
child) (dec d))) (:children tree)))))]
(trampoline minimize tree (int depth))))
Can anyone shine some light? Is it something that has to do with reducers?
Jim
ps: it works fine without trampoline and '#' behind 'r/reduce'.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en