On Thu, Nov 3, 2011 at 13:13, Meikel Brandmeyer <m...@kotka.de> wrote: > Hi, > > Am 03.11.2011 um 12:18 schrieb Ben Smith-Mannschott: > >> There is no such thing as an empty seq. Or put another way, the empty >> seq *is* nil. You're probably thinking of an empty list. > > while this is true, the following is dangerous > >> Returning nil has the advantage that nil is false in a boolean context. >> >> (when-let [s (apply interleave ...)] ... ) > > The input sequences to interleave might be all nil. Since interleave is also > lazy, you have to put a seq around the apply when you use it in a when-let.
You're quite right. I'd overlooked that. > Whether (interleave) returns nil or () is not really important, since you > have to call seq on it anyway. I'd probably prefer nil. My general approach > is to be as lazy as possible, but only if necessary. (interleave) can judge > immediately that it will never ever need laziness, because there are no > inputs. So it can return nil immediately. Maybe a matter of taste. > > Sincerely > Meikel > > > -- > 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