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 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