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 [email protected]
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
-~----------~----~----~----~------~----~------~--~---