> On Jun 7, 2016, at 1:16 PM, Tim Vermeulen via swift-evolution > <[email protected]> wrote: > >> The meaning of the proposed while is not at all a pair for where, since >> where clauses in while loops would do the same thing as while clauses in for >> loops. That's crazy. > > It sounds crazy, but it’s the nature of the while loop. A where clause in a > while loop also has a different result than a where clause in a for loop.
The where_clause appears in the for in statement for_in_statement : 'for' 'case'? pattern 'in' expression where_clause? code_block It's syntactic sugar because the expression can be already be limited through functional chaining of some sort or another. At the same time, it's nice and pleasant to have `where` and I'm not itching to throw it out. The same courtesy could be easily extend to `when` (because I don't really want to use the `while` keyword here, but I could easily be convinced otherwise because I don't have a strong stance either way): for_in_statement : 'for' 'case'? pattern 'in' expression (where_clause | when_clause)? code_block when_clause : 'when' expression and again it could be nice and pleasant to have, although not necessary. The question comes down to how much does the language benefit by this sugar. I'd say that in both cases, combining chaining and statements is marginally less good than either using standalone chaining or statements without chaining. But as I say this, I know as a fact, I fully intend to use `sequence(_:, next:).take(while:)` with for0in statements, so I'm starting from a hypocritical vantage point. To summarize, I'm more +0.01 than I am -0.01 on this. -- E p.s. Sorry, wux
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
