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

Reply via email to