<div dir="ltr">#1 was discussed in this thread: <a href="http://thread.gmane.org/gmane.comp.lang.swift.evolution/16190">http://thread.gmane.org/gmane.comp.lang.swift.evolution/16190</a>. According to Chris, &quot;FWIW, Swift 1 supported tuple destructuring in parameter lists, and we took it out to simplify the language and eliminate special cases.&quot;<div><br></div><div>#2 may or may not naturally fall out of fixing the ambiguity. If it doesn&#39;t, the proposal should definitely add it.</div><div><br></div><div>For #3, I would personally take the same approach as when tuple splat and explicit currying were removed: it&#39;s pretty easy to manually write a wrapper to convert between the old form and new form, so explicit bridging support isn&#39;t worthwhile:</div><div><br></div><div>func tupleize&lt;T, U, V, R&gt;(_ original: (T, U, V) -&gt; R) -&gt; ((T, U, V)) -&gt; R {</div><div>  return { x in</div><div>    return original(x.0, x.1, x.2)</div><div>  }</div><div>}</div><div><br></div><div><br></div><div>Best,</div><div>Austin</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 30, 2016 at 2:02 PM, Vladimir.S via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Just want to brought some things/questions that was not reflected in proposal and that I think should be mentioned:<br>
<br>
1. Should we be able to have such syntax to de-couple tuple&#39;s values in parameter of closure:<br>
<br>
let a : ((Int, Int, Int)) -&gt; Int = { ((x, y, z)) in return x + y + z }<br>
<br>
or only as single parameter<br>
<br>
let a : ((Int, Int, Int)) -&gt; Int = { x in return x.0 + x.1 + x.2 }<br>
<br>
<br>
2. Currently type of `(Int,Int)-&gt;()` is actually `((Int,Int))-&gt;()`<br>
<br>
typealias t1 = (Int, Int) -&gt; Int<br>
print(t1.self) // ((Int, Int)) -&gt; Int<br>
<br>
the proposal should change this to:<br>
<br>
print(t1.self) // (Int, Int) -&gt; Int<br>
where `((Int, Int)) -&gt; Int` means one tuple argument<br>
<br>
<br>
3. It seems like we should keep the ability to explicitly convert one function type to another as some(many?) code can depend on this current behavior and so we need a way to convert old code to new.<br>
<br>
I.e. I think such construction should work:<br>
<br>
var a : ((Int, Int, Int)) -&gt; Int = { x in return x.0 + x.1 + x.2 }<br>
<br>
a = { x, y, z in return x + y + z} as ((Int, Int, Int)) -&gt; Int<br>
<br>
and<br>
<br>
var b : (Int, Int, Int) -&gt; Int = { x, y, z in return x + y + z }<br>
<br>
b = { x in return x.0 + y.1 + z.2} as (Int, Int, Int) -&gt; Int<br>
<br>
<br>
Opinions/thoughts?<span class=""><br>
<br>
<br>
On 30.06.2016 21:22, Chris Lattner via swift-evolution wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
Hello Swift community,<br>
<br>
The review of &quot;SE-0110: Distinguish between single-tuple and multiple-argument function types&quot; begins now and runs through July 4. The proposal is available here:<br>
<br>
        <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0110-distingish-single-tuple-arg.md" rel="noreferrer" target="_blank">https://github.com/apple/swift-evolution/blob/master/proposals/0110-distingish-single-tuple-arg.md</a><br>
<br>
Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at<br>
<br>
        <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
<br>
or, if you would like to keep your feedback private, directly to the review manager.<br>
<br>
What goes into a review?<br>
<br>
The goal of the review process is to improve the proposal under review through constructive criticism and contribute to the direction of Swift. When writing your review, here are some questions you might want to answer in your review:<br>
<br>
        * What is your evaluation of the proposal?<br>
        * Is the problem being addressed significant enough to warrant a change to Swift?<br>
        * Does this proposal fit well with the feel and direction of Swift?<br>
        * If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?<br>
        * How much effort did you put into your review? A glance, a quick reading, or an in-depth study?<br>
<br>
More information about the Swift evolution process is available at<br>
<br>
        <a href="https://github.com/apple/swift-evolution/blob/master/process.md" rel="noreferrer" target="_blank">https://github.com/apple/swift-evolution/blob/master/process.md</a><br>
<br>
Thank you,<br>
<br>
-Chris Lattner<br>
Review Manager<br>
<br>
<br>
_______________________________________________<br></span><span class="">
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
<br>
</span></blockquote><div class="HOEnZb"><div class="h5">
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</div></div></blockquote></div><br></div>