<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 class="">FWIW, the possibility of tuple-punning (tuple -&gt; function arguments) provides a lot of practical uses for larger tuples, but these aren’t actually uses that would really benefit from having `==`, etc., defined.</div><div class=""><br class=""></div><div class="">What *would* be useful for those uses is some standard way to flatten “nested" tuples -&gt; “flat" tuples — `((a,b),(c,d),(e,f,g)) -&gt; (a,b,c,d,e,f,g)` and so on — if it doesn’t already exist (does it?).</div><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 7, 2015, at 5:01 PM, Chris Lattner via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">On Dec 7, 2015, at 12:01 PM, Dmitri Gribenko via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""><div class=""><blockquote type="cite" class=""><span style="font-family: menlo, consolas, 'courier new', monospace, sans-serif;" class="">func &gt; &lt;A: Comparable, B: Comparable, C: Comparable&gt;(lhs: (A, B, C), rhs: (A, B, C)) -&gt; Bool {</span><br class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">
<div class=""><span style="font-family:menlo,consolas,&quot;courier new&quot;,monospace,sans-serif" class="">&nbsp; &nbsp; if lhs.0 != rhs.0 { return lhs.0 &gt; rhs.0 }</span><span style="font-family:menlo,consolas,&quot;courier new&quot;,monospace,sans-serif" class=""><br class=""></span></div>
<div class=""><span style="font-family:menlo,consolas,&quot;courier new&quot;,monospace,sans-serif" class="">&nbsp; &nbsp; if lhs.1 != rhs.1 { return lhs.1 &gt; rhs.1 }</span><span style="font-family:menlo,consolas,&quot;courier new&quot;,monospace,sans-serif" class=""><br class=""></span></div>
<div class=""><span style="font-family:menlo,consolas,&quot;courier new&quot;,monospace,sans-serif" class="">&nbsp; &nbsp; return lhs.2 &gt; rhs.2</span><span style="font-family:menlo,consolas,&quot;courier new&quot;,monospace,sans-serif" class=""><br class=""></span></div>
<div class=""><span style="font-family:menlo,consolas,&quot;courier new&quot;,monospace,sans-serif" class="">}</span></div></div></blockquote><div class=""><br class=""></div><div class="">Looks like a good idea to me!&nbsp; Also the &lt;= and &gt;= operators, right?</div></div></div></div></div></blockquote><div class=""><br class=""></div>+1 from me too.</div><div class=""><br class=""><blockquote type="cite" class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class="">I personally don't see a point in going as high as 12 tuple elements.&nbsp; About 4 or 5 makes sense to me.&nbsp; Given that Swift does not have variadic generics right now, these long tuples have to be defined by someone manually.&nbsp; If one is defining a tuple that is that long, I'd argue that they should be using a custom struct instead.</div></div></div></div></blockquote><br class=""></div><div class="">I tend to agree with Dmitri here. &nbsp;Independent of the code size concern, what is the expected use-case for &gt; 4 element tuples?</div><div class=""><br class=""></div><div class="">-Chris</div><br class="">
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=9EwXyNl81W9TT3yZ17PL28-2Be7Ks-2FXLjqa0dZcsddi5a52O07RhB-2F-2BByMcNhSWQY8nWzlFrVj1rpAvusR7XzlrQ5zboZWek5O8FXqHNiZlezjtQzvUSeFMKi6Xy06Tekd9LQOgGOSQDTYXr2RUM0wi5fke-2FOz0-2BskJhKfV2W3lpxIFFQECmdFhFTn-2B00DDGrD1x4Lic9zh80hJIR42MkJRmiGvE-2FGvOv-2B71Pcw44dcC8-3D" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;" class="">
</div>
_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></blockquote></div><br class=""></body></html>