I implemented a scan function, that is a function like reduce but that returns a list of the intermediate results not just the last one.
(defn scan ([f coll] (scan f (first coll) (rest coll))) ([f val coll] (when (not (empty? coll)) (let [new-val (f val (first coll))] (lazy-seq (cons new-val (scan f new-val (rest coll)))))))) Is this best way to implement that or is there already a Clojure function that does this that I've missed? Thanks, Jim --~--~---------~--~----~------------~-------~--~----~ 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 clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---