Thanks Adrian et al. I am going to remove recur from try catch special form. (BTW: doseq is not the case since I need to modify freely the collection during looping) On the other hand I am curios whether "no recur inside the try-catch special form" might be adopted as a "rule of thumb". It is interesting since there are some cases when it works perfectly e.g.:
(def ll ['a 'b 'c 'd]) (loop [e (first ll) f (rest ll)] (try (cond (= e nil) nil (= 0 0) (do (println e) (recur (first f) (rest f)))) (catch Exception _ (println "ex")))) In other words it is OK if there is nothing more inside the loop than try-catch special form. But, adding a side effect methods to loop body starts the problem. -- 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