<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><span></span></div><div><blockquote type="cite"><div><div style="direction: inherit;"> * What is your evaluation of the proposal?</div></div></blockquote><div style="direction: inherit;"><br></div><div style="direction: inherit;">-1. I think that there might be something to this idea, but am against the proposal in its current form for the same reasons that have already been stated: flatten has a broader use than just joining sequences/collections, and flatten as a name is strongly related to flatMap.</div><div style="direction: inherit;"><br></div><div style="direction: inherit;">Not merging "flatten" and "joined" but still adding the default arguments would make the similarities between the two even more confusing. </div><div style="direction: inherit;"><br></div><div style="direction: inherit;">The name of the merged function (if any) needs more consideration, taking into account it's broader context and future use.</div><div style="direction: inherit;"><br></div><blockquote type="cite"><div><span> * Is the problem being addressed significant enough to warrant a change to Swift?</span><br></div></blockquote><div style="direction: inherit;"><br></div><div style="direction: inherit;">Not sure.</div><div style="direction: inherit;"><br></div><blockquote type="cite"><div><span> * Does this proposal fit well with the feel and direction of Swift?</span><br></div></blockquote><div style="direction: inherit;"><br></div><div style="direction: inherit;">No. In its current form it's almost an oversimplification.</div><div style="direction: inherit;"><br></div><blockquote type="cite"><div><span> * If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?</span><br></div></blockquote><div style="direction: inherit;"><br></div><div style="direction: inherit;">Haskell calls the general <b>m (m a) -> m a</b> function for "join", but also has a specialized <b>[[a]] -> [a]</b> function called "concat". (The function corresponding to "flatMap" is called "bind" in Haskell (although used as an operator), so since neither is called flatten or flatMap it doesn't have the confusion where one of them would be named so).</div><div style="direction: inherit;"><br></div><blockquote type="cite"><div><span> * How much effort did you put into your review? A glance, a quick reading, or an in-depth study?</span><br></div></blockquote><div style="direction: inherit;"><br></div><div style="direction: inherit;">Read the proposal. </div></div><div style="direction: inherit;"><br></div><div style="direction: inherit;">- David</div></body></html>