Hi,

Am 07.08.2010 um 19:44 schrieb Andreas Liljeqvist:

> Your example code can be quite slow since all sublists are summed before 
> comparision.
> I would like a function that does this with a accumulator for the reduced 
> values.

You can always go low-level:

(defn take-until
  [f initial pred coll]
  (lazy-seq
    (when-let [s (seq coll)]
      (let [fst (first s)
            x   (f initial fst)]
        (when (pred x)
          (cons fst (take-until f x pred (rest s))))))))

Sincerely
Meikel

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

Reply via email to