<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=""><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 class="">Sorry about the immediate followup, but I just recalled you mentioned multiple conditional binding, which would have brackets, so what about the following:</div><div class=""><br class=""></div><div class=""><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>if case .cartesian(let x, let y where x != y) = point { … }</font></div><div class=""><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>if let (value where value > 5) = foo { … }</font></div><div class=""><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>if let (foo, bar where foo > 5) = (maybeFoo, maybeBar) { … }</font></div><div class=""><br class=""></div><div class="">While it requires brackets for the single conditional binding (you could still drop them with no where clause though) it seems easier to read to me. For consistency this would probably apply to your for loop suggestion like:</div><div class=""><br class=""></div><div class=""><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>for (eachValue where eachValue > 5) in theValues { … }</font></div></body></html>