<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Aug 17, 2017, at 7:38 PM, Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" class="">xiaodi.wu@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">On Thu, Aug 17, 2017 at 8:25 PM, Erica Sadun <span dir="ltr" class="">&lt;<a href="mailto:erica@ericasadun.com" target="_blank" class="">erica@ericasadun.com</a>&gt;</span> wrote:<br class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word" class=""><div class="">`repeatElement((), count: 5)` is better than `1 ... 5`, but `Count(3).map({ UIView() })` is far more elegant.&nbsp; I'd still probably go with an array initializer or `5.elements(of: UIView())`. I don't think I'm overstating how common this pattern is, and `Array(repeating:count:)` feels _close_ but not close enough.</div></div></blockquote><div class=""><br class=""></div><div class="">The first two have the benefit of being currently existing APIs; </div></div></div></div></div></blockquote><div><br class=""></div><div>I'm pretty sure Count isn't an &nbsp;existing API. And as I said before, while I don't think this rises to stdlib inclusion, it's been a common problem domain for people both inside and outside Apple so it deserves a full discussion.</div><div><br class=""></div><div>That said, `Count` is neat. It encapsulates an idea in a way that I haven't seen in Swift.&nbsp;</div><div><br class=""></div><div>-- E</div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class="">they capture the semantics perfectly, as I've argued, and I simply don't see how they are impaired in elegance in any way--certainly not enough to justify a standard library addition to create a third way of spelling the same thing. Ultimately, any user is free to define something like:</div><div class=""><br class=""></div><div class="">```</div><div class=""><div class="">func * &lt;T&gt;(lhs: Int, rhs: @autoclosure () throws -&gt; T) rethrows -&gt; [T] {</div><div class="">&nbsp; return try repeatElement((), count: lhs).map { try rhs() }</div><div class="">}</div><div class=""><br class=""></div><div class="">5 * UIView()</div></div><div class="">```</div><div class=""><br class=""></div></div></div></div>
</div></blockquote></div><br class=""></body></html>