[swift-evolution] [DRAFT] Regularizing Where Grammar (was Re: Add a while clause to for loops)

Xiaodi Wu xiaodi.wu at gmail.com
Fri Jun 10 15:16:43 CDT 2016


On Fri, Jun 10, 2016 at 3:04 PM, Christopher Kornher <ckornher at me.com>
wrote:

>
> On Jun 10, 2016, at 1:52 PM, Xiaodi Wu via swift-evolution <
> swift-evolution at swift.org> wrote:
>
> On Fri, Jun 10, 2016 at 2:38 PM, Brandon Knope via swift-evolution <
> swift-evolution at swift.org> wrote:
>
>> Thanks for the laugh!
>>
>> The last week or so is actually stressing me out about the direction
>> where swift is going…
>>
>> I hope it is just a fleeting feeling but that remains to be seen. I am
>> beginning to think my interests and taste are no longer aligning with the
>> communities or core teams.
>>
>> Brandon
>>
>
> I think, given the usage statistics, we'll find that these amount to small
> nips and tucks. I can't speak to whether things will be to your taste, but
> please rest assured that these proposals do not arise out of anyone's taste
> or distaste (outside that of the core team). If taste were the basis for
> proposals, I'd be proposing rather larger changes to the syntax, but I
> appreciate that my personal taste is of no import.
>
>
> Language design is an art as much as a science. Expressiveness is an
> extremely important feature of a language to me (and of Swift). If we want
> to be scientific about it, character and line counts are very rough metrics
> for expressiveness. How many more characters does changing 'where’s to
> ‘guards' cost?  How many lines would be added by a sensibly formatted
> replacement?
>
> Java is a great example of a language that did not put a high priority on
> expressiveness and consequently Java code has a very high fraction of
> boilerplate.
>

We've had this discussion before. I and others don't consider `{ continue
}` to be boilerplate but essential for understanding control flow. No one
is advocating for more boilerplate. You proceed on the premise that `while`
is just enough and `guard` is too much boilerplate; what we are arguing is
that `while` is *not* enough and `guard` is just right.


> I do not want to see Swift be “Javaized” in the name of “rationalization”.
> Rationalization does not require the language to be dumbed-down to a lowest
> common denominator syntax.
>

"Clarity," not "rationalization" is the watchword here.


>
>
> But as to interests, please do speak loudly and without reserve if any
> proposed changes are putting a stop to real-world (or even anticipated)
> uses you have. That's precisely what this process is about.
>
>
>>
>> > On Jun 10, 2016, at 3:25 PM, L. Mihalkovic via swift-evolution <
>> swift-evolution at swift.org> wrote:
>> >
>> > Goodness... where is this language going.....
>> >
>> >> On Jun 10, 2016, at 9:08 PM, Erica Sadun via swift-evolution <
>> swift-evolution at swift.org> wrote:
>> >>
>> >>
>> >>> On Jun 10, 2016, at 1:06 PM, Rob Norback via swift-evolution <
>> swift-evolution at swift.org> wrote:
>> >>>
>> >>> Following Brent's logic that the for-in where should mimic the switch
>> statement functionality, then this example:
>> >>>
>> >>> for (eachKey, eachValue)
>> >>> where eachValue > 5
>> >>> in theKeyValuePairs {... }
>> >>
>> >> <squish>
>> >>
>> >> I finally convinced myself of which direction I wanted to go:
>> https://github.com/apple/swift-evolution/pull/362/files
>> >>
>> >> Related blog post here:
>> http://ericasadun.com/2016/06/10/swift-where-oh-where-can-my-where-clause-be/
>> >>
>> >> Big thanks to Brent and Wux.
>> >>
>> >> -- E
>> >>
>> >>
>> >>
>> >>
>> >> _______________________________________________
>> >> 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
>>
>> _______________________________________________
>> 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/20160610/c76055db/attachment.html>


More information about the swift-evolution mailing list