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

Chris Lattner clattner at apple.com
Wed May 11 12:58:19 CDT 2016


> On May 10, 2016, at 6:11 PM, Tyler Cloutier <cloutiertyler at aol.com> wrote:
> 
> 
>> On May 10, 2016, at 5:56 PM, Chris Lattner <clattner at apple.com> wrote:
>> 
>> 
>>> 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 {}”.
> 
> 
> Not to beat a dead horse, but isn’t this also true of 
> 
> repeat { ...

> while true { …

No, because today you always know that repeat has a condition, and that while does not.  That’s the point.


>> 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. 
>> 
> 
> If you are referring to “forever", I also don’t think that adding a new keyword is an improvement over “while true”.

I agree.  Even if it didn’t take a keyword, Idon’t think that “repeat forever” is worth adding over “while true”.

-Chris


More information about the swift-evolution mailing list