why not change > < type compare functions do a compare on strings as well?
(defn > ([x] true) ([x y](if (string? x) (. clojure.lang.Numbers (isPos (.compareTo x y))) (. clojure.lang.Numbers (gt x y)))) ([x y & more] (if (> x y) (if (next more) (recur y (first more) (next more)) (> y (first more))) false))) (defn < ([x] true) ([x y](if (string? x) (. clojure.lang.Numbers (isNeg (.compareTo x y))) (. clojure.lang.Numbers (gt x y)))) ([x y & more] (if (< x y) (if (next more) (recur y (first more) (next more)) (< y (first more))) false))) It's just cleaner so we can do things like: user=> (< "2010-06-11" "2010-11-01") true user=> (< "Banana" "Apple") false make sense? Notes: * I ran a bunch of benchmarks, showing no real impact on performance. * probably would need to include >= and <= too. -- 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