On Sat, May 8, 2010 at 1:01 PM, Meikel Brandmeyer <m...@kotka.de> wrote:

> Hi,
>
> if you want to go low-level you can use lazy-seq.
>
> (defn replace-first
>  [needle replacement coll]
>  (lazy-seq
>    (when-let [s (seq coll)]
>      (let [fst (first s)]
>        (if (= fst needle)
>          (cons replacement (rest s))
>          (cons fst (replace-first needle replacement (rest s))))))))
>
>
Hi Meikel,

I would love to see this generalized to become a lazy foldr in clojure,
which is one of the frequently used(abused) HOF. The unfold I mentioned is
another very useful HOF.

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