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

Xiaodi Wu xiaodi.wu at gmail.com
Sun May 29 20:38:40 CDT 2016


+1 from me as well.

On Sun, May 29, 2016 at 18:39 David Hart via swift-evolution <
swift-evolution at swift.org> wrote:

> +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
>
> _______________________________________________
> 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/32cafaf3/attachment.html>


More information about the swift-evolution mailing list