On Sat, Aug 22, 2009 at 8:20 AM, Sean Devlin<francoisdev...@gmail.com> wrote:
>
> Welcome to Clojure!
>
> A String is a form of a Sequence, so the correct function is seq.
>

I think we all need to be very careful about calling things sequences
which are not. seq can give you a sequential view of many things, but
that doesn't make those things sequences. Very few of the Clojure data
structures are actual sequences, e.g. vectors, maps, strings etc are
not. Nor do most Clojure collections implement the sequence (ISeq)
interface. They implement the Seqable interface, which means seq
works, and the thing that seq returns implements ISeq. The fact that
first/rest/other-sequence-fns work on most collections falls out of
the fact that they call seq on their args.

It may seem like a nit, but I've seen a lot of confusion, e.g. people
listing The Sequence Types: Vector, Map etc. Each of the data
structures has important and unique characteristics (insertion, lookup
etc) when not used sequentially. It just makes a mess of the
abstractions to call them sequences.

Rich

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

Reply via email to