<div dir="ltr">With a Cartesian Product type [like this](<a href="https://github.com/griotspeak/CartesianProduct">https://github.com/griotspeak/CartesianProduct</a>), the for-in-where syntax actually gets us to list comprehensions. I'll admit that I might not have implemented the best Cartesian Product type possible, but it should illustrate that we have what we need.<div><br></div><div><font color="#000000"><font face="Consolas, Liberation Mono, Menlo, Courier, monospace"><span style="font-size:12px;line-height:16px;white-space:pre">`for case … in cartProd(cartProd(seq1, seq2), seq3) // An operator for cartProd would make it more pleasing to read.`</span></font></font><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 17, 2015 at 6:29 PM, Amir Michail via swift-evolution <span dir="ltr"><<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">How is it possible that higher kinded types are being discussed seriously while Python’s syntactic sugars (e.g., comprehensions) have been dismissed as too confusing?<br>
<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">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>
</blockquote></div><br></div>