<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On 9 Jun 2016, at 09:47, Brent Royal-Gordon <<a href="mailto:brent@architechies.com" class="">brent@architechies.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class="">Can we get some clarification as to why ‘where’ is being chosen to be retired here? I’m deeply disappointed by that decision as enabling the consistent use of comma as a separator does not preclude the use of where for simple cases that don’t require it. I’m all for having a more usable separator for complex conditionals, but I rarely need it, meanwhile in common, simple conditional bindings and patterns I find the ‘where’ keyword a lot more readable, i.e:<br class=""><br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>if let value = foo where foo > 5 { … }<br class=""></blockquote><br class="">I think there may be a case for keeping the `where` keyword—but before, not after, the equals sign.<br class=""><br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>if case .cartesian(let x, let y) where x != y = point { ... }<br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>if let value where value > 5 = foo { … }<br class=""></div></div></blockquote><div><br class=""></div><div>That looks pretty strange visually though thanks to the assignment (it kind of looks like x is being compared against y = point). It works better as you proposed in a for where in loop since the in keyword keeps it separated nicely. Even so, I prefer where coming after as it makes the condition secondary to what it is I want to do, e.g- I want to bind a condition, but only if the where clause succeeds.</div><div><br class=""></div><div>While my reasons for liking where are mainly aesthetic once the need to use it to get around separator issues goes away, it’s still a nice tool for grouping statements visually, for example:</div><div><br class=""></div><div><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>if let foo = maybeFoo where foo > 5, let bar = maybeBar where bar < 100 { … }</font></div><div><br class=""></div><div>Versus:</div><div><br class=""></div><div><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>if let foo = maybeFoo, foo > 5, let bar = maybeBar, bar < 100 { … }</font></div><div><br class=""></div><div>Even splitting these across two lines I prefer how the where clauses look in terms of specifically indicating that the binding and condition are related/distinct from the other pair. While I get that in this case it doesn’t functionally do anything that the comma doesn’t, I’m not sure I agree that it should be dropped as I’m perfectly capable of choosing for myself which to use for my conditionals, and I prefer how the where looks visually in terms of implying a direct relationship.</div></div></body></html>