[swift-evolution] Change `repeat` to loop indefinitely if no while clause is present
Tyler Cloutier
cloutiertyler at aol.com
Tue May 10 15:33:36 CDT 2016
Furthermore, I also think it is a nice generalization of the
do {
}
syntax for scopes. I think it is quite intuitive that do executes a block once, and repeat executes it repeatedly.
> On May 10, 2016, at 1:09 PM, Erica Sadun via swift-evolution <swift-evolution at swift.org> wrote:
>
> I do not see sufficiently measurable benefits to this proposal to add it to the language.
> It's easy enough to roll your own `repeatForever` function with trailing closure.
>
> I also want to thank you for bring it up on-list. Not every idea is right for Swift but it's
> always refreshing to see innovative thoughts added to the discussion. Please do not be
> discouraged by the generally negative feedback on this particular idea.
>
> -- Erica
>
>> On May 10, 2016, at 1:27 AM, Nicholas Maccharoli via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>
>> Swift Evolution Community,
>>
>> Currently writing an infinite loop in swift looks either something like this:
>>
>> while true {
>> if ... { break }
>> //...
>> }
>>
>> Or this:
>>
>> repeat {
>> if ... { break }
>> //...
>> } while true
>>
>> But I think it might be best to change the syntax / behaviour of `repeat` to loop
>> indefinitely if no trailing while clause is present:
>>
>> repeat {
>> if ... { break }
>> //...
>> }
>>
>> while still allowing a trailing `while` clause as in:
>>
>> repeat {
>> foo += bar
>> } while foo.count < limit
>>
>> I also want to propose that it should be a compile time error to use single `Bool` constants as while loop conditions, so no more `while true { ... }` it would become `repeat { ... }`
>>
>> I was thinking of drafting a short proposal if there was enough positive feedback.
>>
>> How does it sound?
>>
>> - Nick
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160510/f377b5de/attachment.html>
More information about the swift-evolution
mailing list