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
-~----------~----~----~----~------~----~------~--~---

Reply via email to