Hmmm. Thank you for the post.
Questions of laziness apart, I know that recursion has been proven to be equivalent to iterations (expect to weed out interview candidates, as per Steve Yege's remarks :-) But then why would we want any of `doseq', `dotimes' or `doall', and if we do, is that set complete, and with respect to what design principle? For example, CL provides `do-symbols', `do-all-symbols' or `with- package-iterator' as "external" iterators. Clojure decided that anything that could be expressed as a `seq' could be iterated over using `doseq', so I can express the equivalent of CL's (do-symbols ...) using clojure (doseq [n all-ns] ....) To rephrase the question differently, what could exist that is not a clojure `seq' that we would want to iterate over? Clojure already answers this (partially?) by providing (dotimes ...) (as CL does) to iterate over a zero based consecutive and finite sequence of numbers. Though the same (dotimes ...) could be _used_ to iterate over any finite range) What are the things that one could iterate over, for which clojure does not, currently, provide special cases à la `doseq' or 'dotimes' ? I can't think of any, but that's just my poor lack of imagination :-) Many thanks. --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---