<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><blockquote type="cite" class="">I would really like a different name for scan. While it’s the term of art for Haskell and co, it really seems meaningless to regular programmers (why is “scanning” the way you produce an array of intermediate reduces?), and it would be better to follow the pattern already established elsewhere in the library to give friendlier names e.g. flatMap instead of bind, reduce instead of fold.<br class=""></blockquote><div><blockquote type="cite" class=""><div class=""><div class=""><br class="">I think Python calls it accumulate: <a href="http://docs.python.org/3/library/itertools.html#itertools.accumulate" class="">http://docs.python.org/3/library/itertools.html#itertools.accumulate</a><br class=""></div></div></blockquote><div><br class=""></div><div>FWIW, Clojure calls it `<a href="http://clojure.github.io/clojure/clojure.core-api.html#clojure.core/reductions" class="">reductions</a>` which aligns pretty nicely with the `reduce` counterpart.</div><br class=""><blockquote type="cite" class=""><div class=""><div class="">I also think it would be nice for both scan and reduce to have overloads that take the first value as the initial (and return an optional) but that’s probably a separate proposal.<br class=""></div></div></blockquote></div><br class=""><div class="">+1</div><div class=""><br class=""></div><div class="">— Pyry</div><div class=""><br class=""></div></body></html>