FWIW, a version of ancestors that exhibits proper (IMO) behaviour:

(defn ancestors
   ([tag] (ancestors global-hierarchy tag))
   ([h tag] (not-empty
              (let [ta (get (:ancestors h) tag)]
                (if (class? tag)
                  (let [superclasses (set (supers tag))]
                    (apply clojure.set/union
                      ta
                      superclasses
                      (map #(get (:ancestors h) %) superclasses)))
                  ta)))))

- Chas

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