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

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