<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_ym19_1_1482214035788_11082"><span id="yui_3_16_0_ym19_1_1482214035788_11081">Choice for choice's sake as in 100s of ways to do the same thing leads to confusion and complexity. My suggestions are to make Swift consistent, simple, and clear. As it is right now, the motives to keep things status quo in Swift are the same reasons MS Windows was more difficult to use than the Mac OS: hundreds of unintuitive ways to do the same thing added by programmers without concern for simplicity, ease-of-use and elegance.</span></div><div id="yui_3_16_0_ym19_1_1482214035788_11082"><span><br></span></div><div id="yui_3_16_0_ym19_1_1482214035788_11082"><span>V. Malixi</span></div><div class="qtdSeparateBR" id="yui_3_16_0_ym19_1_1482214035788_11083"><br><br></div><div class="yahoo_quoted" id="yui_3_16_0_ym19_1_1482214035788_11169" style="display: block;"> <blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;" id="yui_3_16_0_ym19_1_1482214035788_11168"> <div style="font-family: HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_ym19_1_1482214035788_11167"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_ym19_1_1482214035788_11166"> <div dir="ltr" id="yui_3_16_0_ym19_1_1482214035788_11165"> <font size="2" face="Arial" id="yui_3_16_0_ym19_1_1482214035788_11170"> <hr size="1"> <b><span style="font-weight:bold;">From:</span></b> Anton Zhilin <antonyzhilin@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> Derrick Ho <wh1pch81n@gmail.com> <br><b><span style="font-weight: bold;">Cc:</span></b> Vip Malixi <vip_m@yahoo.com>; Xiaodi Wu <xiaodi.wu@gmail.com>; "swift-evolution@swift.org" <swift-evolution@swift.org><br> <b><span style="font-weight: bold;">Sent:</span></b> Tuesday, December 20, 2016 6:15 AM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [swift-evolution] Swift Closure still inconsistent -- tuple names need to be in curly brackets, single parameter needs to be in parentheses<br> </font> </div> <div class="y_msg_container" id="yui_3_16_0_ym19_1_1482214035788_11171"><br><div id="yiv6968325926"><div id="yui_3_16_0_ym19_1_1482214035788_11174"><div dir="ltr" id="yui_3_16_0_ym19_1_1482214035788_11173"><div class="yiv6968325926markdown-here-wrapper" style="" id="yui_3_16_0_ym19_1_1482214035788_11172"><div class="yiv6968325926yqt3669943125" id="yiv6968325926yqtfd15174"><div style="margin:0px 0px 1.2em!important;" id="yui_3_16_0_ym19_1_1482214035788_11179">2016-12-20 0:59 GMT+03:00 Derrick Ho <<a rel="nofollow" shape="rect" ymailto="mailto:wh1pch81n@gmail.com" target="_blank" href="mailto:wh1pch81n@gmail.com" id="yui_3_16_0_ym19_1_1482214035788_11178">wh1pch81n@gmail.com</a>>:</div>
<div style="margin:0px 0px 1.2em!important;"></div></div><div class="yiv6968325926markdown-here-exclude" id="yui_3_16_0_ym19_1_1482214035788_11177"><div class="yiv6968325926yqt3669943125" id="yiv6968325926yqtfd40176"><div></div><blockquote class="yiv6968325926gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;" id="yui_3_16_0_ym19_1_1482214035788_11176"><div id="yui_3_16_0_ym19_1_1482214035788_11175">The core team designed swift blocks to range from concise to verbose. Which one you use depends on your needs.<br clear="none"><br clear="none">If you want to write parenthesis then by all means write parenthesis; no one is stopping you.<br clear="none"><br clear="none">I would rather keep the block syntax as it is so that everyone can choose the style that matches their needs.</div><div class="yiv6968325926HOEnZb" id="yui_3_16_0_ym19_1_1482214035788_11182"><div class="yiv6968325926h5" id="yui_3_16_0_ym19_1_1482214035788_11181"><div id="yui_3_16_0_ym19_1_1482214035788_11180"><br clear="none"><div class="yiv6968325926gmail_quote" id="yui_3_16_0_ym19_1_1482214035788_11184"><div id="yui_3_16_0_ym19_1_1482214035788_11183">On Mon, Dec 19, 2016 at 1:52 PM Xiaodi Wu via swift-evolution <<a rel="nofollow" shape="rect" ymailto="mailto:swift-evolution@swift.org" target="_blank" href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>> wrote:<br clear="none"></div><blockquote class="yiv6968325926gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;" id="yui_3_16_0_ym19_1_1482214035788_11185">This issue about `numbers in` was raised during review of SE-0066; if I recall, the core team considered and rejected disallowing that syntax in closures. Since we're minimizing source-breaking changes, the issue is settled in my view, having been proposed, commented upon, reviewed, and rejected.</blockquote></div></div></div></div></blockquote></div><div></div></div><div style="margin:0px 0px 1.2em!important;"></div>
<div style="margin:0px 0px 1.2em!important;" id="yui_3_16_0_ym19_1_1482214035788_11186">Ok, I understand, you probably consider the syntax in question <code style="font-size:0.85em;font-family:Consolas, Inconsolata, Courier, monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;">{ param -> Int in ... }</code> closer to the short form <code style="font-size:0.85em;font-family:Consolas, Inconsolata, Courier, monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;">{ param in ... }</code> than to the full form <code style="font-size:0.85em;font-family:Consolas, Inconsolata, Courier, monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;">{ (param: Int) -> Int in ... }</code></div>
<div style="margin:0px 0px 1.2em!important;" id="yui_3_16_0_ym19_1_1482214035788_11187">So when applying analogy, it makes more sense to allow the omission as in the short form than to disallow as in the full form. I have to agree. So, -1 to all points of the OP.</div><div class="yiv6968325926yqt3669943125" id="yiv6968325926yqtfd95325">
<div title="MDH:PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj4yMDE2LTEy LTIwIDA6NTkgR01UKzAzOjAwIERlcnJpY2sgSG8gPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVm PSJtYWlsdG86d2gxcGNoODFuQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPndoMXBjaDgxbkBn bWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj46PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90 ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3Bh ZGRpbmctbGVmdDoxZXgiPjxkaXY+VGhlIGNvcmUgdGVhbSBkZXNpZ25lZCBzd2lmdCBibG9ja3Mg dG8gcmFuZ2UgZnJvbSBjb25jaXNlIHRvIHZlcmJvc2UuICBXaGljaCBvbmUgeW91IHVzZSBkZXBl bmRzIG9uIHlvdXIgbmVlZHMuPGJyPjxicj5JZiB5b3Ugd2FudCB0byB3cml0ZSBwYXJlbnRoZXNp cyB0aGVuIGJ5IGFsbCBtZWFucyB3cml0ZSBwYXJlbnRoZXNpczsgbm8gb25lIGlzIHN0b3BwaW5n IHlvdS48YnI+PGJyPkkgd291bGQgcmF0aGVyIGtlZXAgdGhlIGJsb2NrIHN5bnRheCBhcyBpdCBp cyBzbyB0aGF0IGV2ZXJ5b25lIGNhbiBjaG9vc2UgdGhlIHN0eWxlIHRoYXQgbWF0Y2hlcyB0aGVp ciBuZWVkcy48L2Rpdj48ZGl2IGNsYXNzPSJIT0VuWmIiPjxkaXYgY2xhc3M9Img1Ij48ZGl2Pjxi cj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PGRpdj5PbiBNb24sIERlYyAxOSwgMjAxNiBhdCAx OjUyIFBNIFhpYW9kaSBXdSB2aWEgc3dpZnQtZXZvbHV0aW9uICZsdDs8YSBocmVmPSJtYWlsdG86 c3dpZnQtZXZvbHV0aW9uQHN3aWZ0Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnN3aWZ0LWV2b2x1dGlv bkBzd2lmdC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9Imdt YWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mg c29saWQ7cGFkZGluZy1sZWZ0OjFleCI+VGhpcyBpc3N1ZSBhYm91dCBgbnVtYmVycyBpbmAgd2Fz IHJhaXNlZCBkdXJpbmcgcmV2aWV3IG9mIFNFLTAwNjY7IGlmIEkgcmVjYWxsLCB0aGUgY29yZSB0 ZWFtIGNvbnNpZGVyZWQgYW5kIHJlamVjdGVkIGRpc2FsbG93aW5nIHRoYXQgc3ludGF4IGluIGNs b3N1cmVzLiBTaW5jZSB3ZSdyZSBtaW5pbWl6aW5nIHNvdXJjZS1icmVha2luZyBjaGFuZ2VzLCB0 aGUgaXNzdWUgaXMgc2V0dGxlZCBpbiBteSB2aWV3LCBoYXZpbmcgYmVlbiBwcm9wb3NlZCwgY29t bWVudGVkIHVwb24sIHJldmlld2VkLCBhbmQgcmVqZWN0ZWQuPC9ibG9ja3F1b3RlPjwvZGl2Pjwv ZGl2PjwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48ZGl2Pk9rLCBJIHVu ZGVyc3RhbmQsIHlvdSBwcm9iYWJseSBjb25zaWRlciB0aGUgc3ludGF4IGluIHF1ZXN0aW9uIGB7 IHBhcmFtIC0mZ3Q7IEludCBpbiAuLi4gfWAgY2xvc2VyIHRvIHRoZSBzaG9ydCBmb3JtIGB7IHBh cmFtIGluIC4uLiB9YCB0aGFuIHRvIHRoZSBmdWxsIGZvcm0gYHsgKHBhcmFtOiBJbnQpIC0mZ3Q7 IEludCBpbiAuLi4gfWA8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlNvIHdoZW4gYXBwbHlpbmcg YW5hbG9neSwgaXQgbWFrZXMgbW9yZSBzZW5zZSB0byBhbGxvdyB0aGUgb21pc3Npb24gYXMgaW4g dGhlIHNob3J0IGZvcm0gdGhhbiB0byBkaXNhbGxvdyBhcyBpbiB0aGUgZnVsbCBmb3JtLiBGYWly IHBvaW50LCBJIGhhdmUgdG8gYWdyZWUuPC9kaXY+PC9kaXY+PC9kaXY+" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0;" title-off=""></div></div></div></div></div></div><br><br></div> </div> </div> </blockquote> </div></div></body></html>