[swift-evolution] [swift-evolution-announce] [Review] SE-0099: Restructuring Condition Clauses

David Hart david at hartbit.com
Sun May 29 17:38:54 CDT 2016


+1 again.

> On 29 May 2016, at 21:39, Chris Lattner via swift-evolution <swift-evolution at swift.org> wrote:
> 
>> On May 29, 2016, at 3:55 AM, Haravikk <swift-evolution at haravikk.me> wrote:
>>>> On May 27, 2016, at 12:11 PM, Joe Groff <jgroff at apple.com> 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
>>> 
>>> 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
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160530/7feaf8f7/attachment.html>


More information about the swift-evolution mailing list