Why does that work? The same recursion happens in the finally. There's a layer of indirection now, but the doseq was already a layer of indirection between the finally and doseq's internal recur.
I see from the linked thread above that the basic issue is a known implementation issue with Clojure to limit complexity - given that, perhaps doseq (and any other out-of-the-box macros/functions that are internally implemented with recur, or otherwise trigger that exception) should be documented as having this effect. -- 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