> On May 29, 2016, at 3:55 AM, Haravikk <[email protected]> wrote:
>>> On May 27, 2016, at 12:11 PM, Joe Groff <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Hello Swift community,
>>> 
>>> The review of SE-0099 “Restructuring Condition Clauses” begins now and runs 
>>> through June 3, 2016. The proposal is available here:
>>> 
>>>     
>>> https://github.com/apple/swift-evolution/blob/master/proposals/0099-conditionclauses.md
>>>  
>>> <https://github.com/apple/swift-evolution/blob/master/proposals/0099-conditionclauses.md>
>> Thanks everyone.  FYI, Erica and I discussed it offlist and agreed to amend 
>> the proposal: now you can use semicolons or a newline to separate clauses of 
>> different types.
> 
> While I like the improvements made to the proposal, I’m still not in favour 
> of removing the where clause; the introduction of semi-colons and new-lines 
> as separators eliminates the need to use it if you don’t want to, so 
> developers will be free to drop it if they wish, but I don’t see any real 
> reason to remove it from the syntax, as it feels inconsistent if I can use it 
> elsewhere, and I prefer to do so, particularly on if/guard.

I can definitely respect the position that “where” feels more readable than a 
semicolon, it certainly provides a more “fluent” style.

That said, the existing Swift 2 syntax was inconsistent about this too: if you 
started a condition with an availability check, you comma separate it from a 
boolean with a comma:

        if #available(iOS 52, *), x == y {} 

While we could have used “where” here, it was counterproductive because it 
didn’t increase clarity of code.

> I get that there’s some inconsistency between the use of where on while and 
> for loops, but actually the behaviour on while loops can be desirable, and I 
> feel the ambiguity could be addressed in other ways. I feel like removing or 
> changing the where clause should be its own issue, and this one should be 
> focused on removing the ambiguity caused by the use of commas, as anyone that 
> wants semi-colons but also likes to use where is forced to oppose the whole 
> proposal as they’re not mutually exclusive.

It would certainly be possible to allow a developer to write either a semicolon 
or a where clause, but that would just encourage divergent styles.  My problem 
with “where” is that it cannot be used uniformly and consistently.  I’d rather 
go with something that can be used uniformly, particularly given its use for 
the same thing elsewhere in the language (reducing complexity of the language 
by a tiny bit).

-Chris
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to