[swift-evolution] Change `repeat` to loop indefinitely if no while clause is present

Chris Lattner clattner at apple.com
Tue May 10 19:56:41 CDT 2016


> On May 10, 2016, at 4:13 PM, Cole Campbell via swift-evolution <swift-evolution at swift.org> wrote:
> 
> I agree that repeat { } is ambiguous because you have to look to the end for a while clause to determine if it's infinite or not.

Right, this is the downside that I see with “repeat {}”.

> while true { } is preferable in that regard, but a compromise that I saw mentioned is:
> 
> repeat forever { }

This would require taking “forever” as a keyword if we supported “repeat N {", something we wouldn’t want to do.

Another option is to make it a statement modifier, which wouldn’t require taking it as a keyword (but also doesn’t read as well):

forever repeat { }


Personally, I don’t see this as a big enough improvement over “while true” to be worth introducing complexity for. 

-Chris


More information about the swift-evolution mailing list