> Sigh, I wish the API docs were more helpful in this case. > > clojure.core/seq? > ([x]) > Return true if x implements ISeq > > It's asking a lot from me to know whether vectors implement ISeq.
If you don't know, you can always just ask the language :) user> (ancestors (class [1 2 3])) #{clojure.lang.IPersistentStack clojure.lang.Streamable java.io.Serializable java.lang.Runnable clojure.lang.IFn clojure.lang.IObj clojure.lang.Associative clojure.lang.Reversible clojure.lang.Obj clojure.lang.Sequential java.util.RandomAccess java.util.List clojure.lang.IPersistentVector clojure.lang.APersistentVector clojure.lang.AFn java.lang.Object clojure.lang.IPersistentCollection java.lang.Iterable java.lang.Comparable java.util.Collection java.util.concurrent.Callable} user> (contains? (ancestors (class [1 2 3])) clojure.lang.ISeq) false But, I agree; the seq/coll distinction can be very confusing at first, especially when faced with seemingly contradictory outputs like user> (= '(1) [1]) true user> (= '() []) false user> {'(1) true} {(1) true} user> (get *1 [1]) true user> (hash-map '(1) true) {(1) true} user> (get *1 [1]) nil -Jason --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---