The doc for `distinct` is: "Returns a lazy sequence of the elements of coll with duplicates removed. Returns a stateful transducer when no collection is provided."
(1) In the lazy sequence case, I've thought that maybe it is assuemd there is a guarantee that the order of the input seq is preserved. However, this isn't stated. Is this an assumption to rely on for `distinct` and, more generally, the Clojure seq-based API functions? (2) In either case, when there are duplicates, there do not seem to be any guarantees on which one of the duplicates will be preserved. Should this be stated? I'm thinking that maybe this is about Clojure's design philosophy being that equal values to not ever need to be distinguished between, so the API doesn't explicitly support this concern. However, there are times when identity relationships can matter - performance would be one that comes to mind. - This has some relationship to the Scala question @ http://stackoverflow.com/questions/6735568/scala-seqlike-distinct-preserves-order There have been a few occasions where I relied on (or wanted to rely on) (1). I haven't had many cases where (2) matters, but I could see it coming up on perhaps rare occasions. -- 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 unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.