[swift-evolution] Change `repeat` to loop indefinitely if no while clause is present
Tyler Cloutier
cloutiertyler at aol.com
Tue May 10 20:11:02 CDT 2016
> 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
and
while true {
...
...
if condition {
break
}
}
>
>> 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.
>
If you are referring to “forever", I also don’t think that adding a new keyword is an improvement over “while true”.
> -Chris
More information about the swift-evolution
mailing list