On 4/28/16 4:01 PM, Seb wrote:
On Thursday, 28 April 2016 at 18:53:21 UTC, Steven Schveighoffer wrote:
grrr... and they removed C-style for statements (i.e. for(;;))

-Steve

I agree with the other people on this list - cleaning up a language is
great and should be done.
`++` might be a bad example, but (empty) C-style for loops are!

Sorry, I should have been clearer. All C style for loops are losing support, not just empty ones.

The expressiveness of a C-style for-loop in terms of end condition and increment, combined with the ability to declare the loop variables in a new scope (BTW, swift doesn't allow arbitrary new scopes) is very nice for succinct expression of flow control.

From the answers I'm getting on stack overflow, swift doesn't have very much in the way of higher-order functions for helping with this. That's what I'm looking for:

for x in someGenerator(0, endCondition: ..., increment: ...)

Right now, all they have is stride, which increments by a specific amount, with a specific end point defined as the same type as your variable. Anything else requires a while loop, which then of course loses the ability to declare loop variables.

I'm very much annoyed by the "you're doing it wrong" attitude when it comes to justifying the removal of these features. If you are going to remove a feature, there should be an equivalent way to do it.

-Steve

Reply via email to