I think the only thing that currently extends Seqable is
IPersistentCollection, which is testable with 'coll?'
> (defn seqable?
> "Returns true if (seq x) should work. That is, it tests if x
> implements clojure.lang.Seqable"
> [x]
> (instance? clojure.lang.Seqable x))
Note however that seq works on things that are not
IPersistentCollections nor Seqable, like java collections,
strings, etc.
user=> (filter #(Character/isUpperCase %) "Works For Me")
(\W \F \M)
user=> (seq (java.util.HashMap. {:a 1, :b 2, :c 3}))
(#<Entry :c=3> #<Entry :b=2> #<Entry :a=1>)
> PS - Sorry if this isn't the right avenue for feature requests.
No worries -- you're going about this exactly the right way.
:-)
--Chouser
How about defining seqable? in terms of whether seq works, using try catch?