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

Xiaodi Wu xiaodi.wu at gmail.com
Tue May 10 16:09:37 CDT 2016


The proposed `repeat { }` is identical to `while true { }`. One of these
can happen accidentally because a trailing clause was unintentionally
omitted, while the other cannot. One of these currently exists in the
language, while the other does not. What is the motivation for having a new
way of doing the same thing? I have not seen an answer.


On Tue, May 10, 2016 at 4:05 PM, Taras Zakharko via swift-evolution <
swift-evolution at swift.org> wrote:

> When I need a loop with complex control flow that does not fit into the
> classical while {} or repeat {} while structure, I use this:
>
> do_stuff: do {
>>   continue do_stuff
> }
>
> This pattern explicit and allows very complex control flow patterns
> without the drawbacks of the unrestricted goto construct.
>
> Therefore I don’t see utility with having a repeat {} without while clause.
>
> Best,
>
>  Taras
>
>
> > On 10 May 2016, at 22:39, Dominik Pich via swift-evolution <
> swift-evolution at swift.org> wrote:
> >
> >
> >>> On May 10, 2016, at 3:30 PM, Tyler Cloutier via swift-evolution <
> swift-evolution at swift.org> wrote:
> >>>
> >>> Secondly it’s a very simple way of introducing new programmers to
> loops. It’s IMHO more clear to a new programmer that repeat will just
> repeat indefinitely vs while true.
> >>
> >> This point seems strange to me - why teach a new programmer about loops
> by first showing them a looping construct they should probably never use in
> actual practice until they really know what they’re doing?
> > totally agree… it would be a bad first introduction, id say :)
> >
> > _______________________________________________
> > swift-evolution mailing list
> > 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/29c21181/attachment.html>


More information about the swift-evolution mailing list