On 28 January 2010 14:49, Meikel Brandmeyer <m...@kotka.de> wrote: > With the "elegant" version you pile lazy-cat on lazy-cat on lazy-cat > because lazy-cat does delay the evaluation just a lazy-seq does. So > when accessing the sequencing you have to handle all those lazy-cat > calls on the stack, which will eventually overflow. With the direct > call you have the same situation as with lazy-seq: the original call > already returned and the stack is not blown.
Yes, I realised that after posting in rather too much of a hurry, apparently. Also, I find it ever so slightly worrying that it is only now that I've come up with the following, which, incidentally, works just fine: (defn multi-read-lines [sources] (apply concat (map read-lines sources))) :-) Sincerely, Michal -- 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