On Wed, Oct 8, 2014 at 10:55 PM, John Gabriele <[email protected]> wrote:
> * (when calling `seq` on a coll) "...In either case, if the collection > is empty, `seq` returns nil and never an empty sequence. Functions that > promise to return seqs (not sequences), such as `next`, work the same way." > > I think that's a typo. I don't know what the difference between a "seq" and a "sequence" would be in this context. Thanks, Ambrose > > > On Wednesday, October 8, 2014 8:16:38 PM UTC-4, James Reeves wrote: >> >> The words "seq" and "sequence" can be used interchangeably. >> >> The "map" and "filter" functions return seqs. >> >> Yes, a seq may be lazy, but vectors and lists cannot. >> >> "seqable" means any data structure that can be turned into a seq using >> the "seq" function. This includes the Clojure collections, but also >> strings, arrays and Java collections. >> >> The Sequential interface is a way of indicating a collection has a >> natural order. So seqs, lists and vectors are sequential, but maps and sets >> are not. >> >> The ISeq interface is the internal interface for seqs. An object is a seq >> if it implements ISeq. >> >> - James >> >> >> On 8 October 2014 19:39, John Gabriele <[email protected]> wrote: >> >>> Reading Joy of Clojure, section 5.1.2, I'm hoping someone here can help >>> me understand the following: >>> >>> * `clojure.core/seq` returns a "seq" or a "sequence"? Likewise for >>> `map` and `filter`. >>> >>> * What is the difference between a "seq" and a "sequence"? >>> >>> * A seq may possibly be lazy, but vectors and lists are always >>> fully-realized, correct? >>> >>> * What does "seqable" mean? >>> >>> * Is Seq (ISeq?) or is Sequential the `first`/`rest` API? What is the >>> difference between ISeq and Sequential (see `seq?` & `sequential?`)? >>> >>> Thanks! >>> >>> -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to [email protected] > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > [email protected] > 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 unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] 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 unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
