<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=""><div><blockquote type="cite" class=""><div class="">On Dec 28, 2015, at 11:47 AM, Alex Migicovsky via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><div class=""><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" class=""><div class="">On Dec 27, 2015, at 1:32 PM, Joe Groff via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Some more things to consider:<div class=""><br class=""></div><div class="">- Our naming conventions encourage the first parameter to most methods to be unlabeled, so unlabeled parameters come up a lot. I don't think there's a grammatical requirement for an identifier before each colon; maybe we can leave out the underscore and use `foo(:bar:)` instead of `foo(_:bar:)` to refer to unlabeled arguments.</div></div></div></blockquote><div class=""><br class=""></div>At first glance it seems like we can remove the parens altogether if we went with this approach. Could instance.`foo:bar:` work (instance.`foo` in the no-arg case)? I’m not sure how removing parens would work for inits and subscripts though.</div></div></blockquote><br class=""></div><div>While the conventions encourage the first parameter to be unlabeled, it doesn't enforce it (and there are exceptions in the standard library, like `removeAll(keepCapacity:)`, as well as `stride(to:…)` and `stride(through:…)`.</div><div><br class=""></div><div>Stephen</div></body></html>