seq?, sequential? and coll? are the predicates for ISeq, Sequential and IPersistentCollection, respectively.
Sequential is just a marker interface which doesn't promise anything but a defined order of elements. Since ISeq already is a seq and IPersistentCollection derives from Sequable, both will succeed in a seq call. Additionally, seq does some coercion for native types: https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/RT.java#L471 There is a predicate in contrib to conclusively test whether it will succeed: https://github.com/clojure/core.incubator/blob/master/src/main/clojure/clojure/core/incubator.clj#L77 2012/11/26 Sean Corfield <seancorfi...@gmail.com> > A colleague showed me this page recently which seems like a nice quick > reference: > > http://www.brainonfire.net/files/seqs-and-colls/main.html > > > On Mon, Nov 26, 2012 at 6:01 AM, Mark Engelberg > <mark.engelb...@gmail.com>wrote: > >> I understand that these functions test for different interfaces, but I >> don't have a clear sense for which things respond differently to these >> predicates. Has anyone compiled a little table of what things satisfy >> which predicates? >> >> So far, I've figured out that although lists, strings, vectors, and sets >> all can seq: >> lists are seq?, sequential? and coll? >> vectors are not seq?, are sequential? and coll? >> sets are not seq? and not sequential?, but are coll? >> strings are not seq?, sequential? or coll? >> >> From these examples, it appears that: >> All seq? are sequential? >> All sequential? are coll? >> >> Is this really true, or have I just not found enough edge cases? >> >> Thanks. >> >> -- >> 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 > > > > > -- > Sean A Corfield -- (904) 302-SEAN > An Architect's View -- http://corfield.org/ > World Singles, LLC. -- http://worldsingles.com/ > > "Perfection is the enemy of the good." > -- Gustave Flaubert, French realist novelist (1821-1880) > > -- > 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 > -- 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