On Dec 6, 4:35 pm, "Stephen C. Gilardi" <[EMAIL PROTECTED]> wrote: > The fn in question is likely the one in the macro expansion of the > lazy-cons inside filter. As a next step, I would try replacing the > call to "doseq" with the equivalent loop/recur:
That's a good idea, Steve - I didn't totally understand the code you included, but I do always forget that clojure has destructuring in its binding forms, so I rewrote it like this, which I believe should be fine (correct me if I am wrong): (defn splode2 [index-path] (with-local-vars [doc-count 0] (loop [[document & rest-documents] (filter my-filter-pred (document-seq index-path))] (when document (var-set doc-count (inc @doc-count)) (recur rest-documents))) 'done)) This blows up exactly the same, with exactly the same object (clojure.core$filter__3364$fn__3367) referencing the big chain of lazy- conses. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---