Probably a good idea for "get-nodes" to handle potential cycles:
(defn get-nodes [from to]
(loop [visited #{}
[x & xs] [from]]
(if-not x
visited
(let [new-visited (conj visited x)
neighbors (candidates x to)
new-queue (remove new-visited (concat xs neighbors))]
(recur new-visited
new-queue)))))
--
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