I totally agree with Brandon that it makes sense in the context. But I
disagree with you: the behavior certainly isn't consistent. Those are two
orthogonal evaluations.

Personally, I've never been tripped up by the two different meanings of
where clauses and I've used both. Yet, when it was presented to me in prose
form in _Advanced Swift_ (a great read, btw), it was a shocking thing to
realize.

That these very experienced authors of the book felt compelled to point it
out to their audience, who are ostensibly all experienced users of the
language, suggests that there is something about the where clause not quite
intuitive for all people. So I consider it a net positive to eliminate the
inconsistency, whether or not it can be thought of as making sense.

On Sun, May 29, 2016 at 11:15 Thorsten Seitz <tseit...@icloud.com> wrote:

> Totally agree with Brandon. I don’t think that behavior is inconsistent.
>
> -Thorsten
>
>
> Am 28.05.2016 um 22:18 schrieb Brandon Knope via swift-evolution <
> swift-evolution@swift.org>:
>
> Doesn't this contextually make sense though?
>
> for, when read:
> "for each value in collection where some condition is met" do this loop
>
> while, when read:
> "while some condition where this constraint is met" do this loop
>
> It could just be because I know the behavior and am use to it, but I think
> it makes sense contextually when used.
>
> Brandon
>
> On May 28, 2016, at 4:06 PM, Xiaodi Wu via swift-evolution <
> swift-evolution@swift.org> wrote:
>
> I'm just gotta quote from Advanced Swift:
>
> Note that the where clause [in a for loop] does not work like the where
> clause in a while loop. In a while loop, iteration stops once the value is
> false, whereas in a for
> loop, it functions like filter.
>
> On Sat, May 28, 2016 at 16:00 Haravikk <swift-evolut...@haravikk.me>
> wrote:
>
>>
>> > On 28 May 2016, at 20:21, Xiaodi Wu <xiaodi...@gmail.com> wrote:
>> >
>> > There's already an inconsistency in where clause behavior for `if` and
>> `while` versus `for` loops. It's nice IMO that the former uses are
>> eliminated in this proposal.
>>
>> Can you give an example? That sounds like something that should be
>> addressed separately rather than just dropping it.
>> Like I say I really like using it for basic bind + condition cases, so
>> I’m very much opposed to just tossing where clauses.
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
>
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to