One more thought. I'd change the signature of the second call to [f init coll]
This matches the original reductions. On Aug 6, 4:20 pm, Sean Devlin <francoisdev...@gmail.com> wrote: > It seems to have the same signature, so as a consumer of the library > it's the same to me. If the speedup holds, I say make the change to > your version. > > The only warning is that I couldn't find any regression tests for seq- > utils. Perhaps this is a chance to add some. > > My $.02 > > Sean > > On Aug 6, 4:09 pm, Stuart Halloway <stuart.hallo...@gmail.com> wrote: > > > Is the following an improvement on clojure.contrib.seq-utils/ > > reductions, or a step backwards? > > > (defn my-reductions > > ([f coll] > > (if (seq coll) > > (cons (first coll) (my-reductions f (first coll) (rest coll))) > > (cons (f) nil))) > > ([f acc coll] > > (if (seq coll) > > (let [nextval (f acc (first coll))] > > (lazy-seq (cons nextval (my-reductions f nextval (rest > > coll)))))))) > > > On the plus side, it appears to be faster (as collections grow large), > > and it doesn't "cheat" by introducing an atom. On the minus side it > > isn't as pretty as the one in contrib. > > > Stu --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---