Chouser a écrit : > On Dec 12 2008, 3:35 pm, Christophe Grand <christo...@cgrand.net> > wrote: > >> I was sure it was a job for iterate: >> >> (defn reductions >> "Returns a lazy seq of the intermediate values of the reduction (as >> per reduce) of coll by f, starting with init." >> ([f coll] >> (if (seq coll) >> (for [s (iterate (fn [[x & s]] (if s >> (lazy-cons (f x (first s)) (rest s)))) >> coll) >> :while s] >> (first s)) >> (list (f)))) >> ([f val coll] >> (reductions f (cons val coll)))) >> > > This isn't in clojure.core yet (any reason why not?) so would you mind > if I add it to clojure.contrib.seq-utils? Or of course you can do it > if you prefer. :-) >
What do you think of adding rec-cons, rec-cat and your (fixed) cute version instead to seq-utils? (see http://clj-me.blogspot.com/2009/01/recursive-seqs.html for rec-cat and rec-cons) --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---