I think, on the contrary, it's missing the point utterly. It's up to those proposing a new feature to justify its addition in light of what's already here, and it's up to those proposing the removal of a feature to justify why it should be removed.
Certainly no one is proposing the removal of the while loop. Currently, the One Obvious Way of making an infinite loop is `while true`, and it is up to the proponents to advance a reason why a replacement would be superior. I cannot think of a greater non-sequitur than supplying a demonstration of why while loops are useful. On Tue, May 10, 2016 at 16:27 Tyler Cloutier via swift-evolution < [email protected]> wrote: > On May 10, 2016, at 2:13 PM, Harlan Haskins via swift-evolution < > [email protected]> wrote: > > You could always do your control flow with goto’s anyway… > > func foo() { > var i = 0 > func goto(_ label: String = "entry") { > switch label { > case "entry": > print("beginning loop…") > goto("cond") > case "cond": > goto(i < 10 ? "body" : "end") > case "body": > i += 1 > print("\(i)") > goto("cond") > case "end": > break > default: break > } > } > goto() > } > > Apologies, > Harlan > > > > And isn’t this the point really. Yes there are many different ways of > doing something, but there should be one obvious way. IMHO, there is > nothing more obvious than just > > repeat { > > } > > It’s very clear. It’s not about adding complex control flow, it’s about > simplifying current syntax. I don’t think anyone is arguing that it’s more > powerful than what while loops currently offer. > > > > On May 10, 2016, at 2:05 PM, Taras Zakharko via swift-evolution < > [email protected]> 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 < > [email protected]> wrote: > > > On May 10, 2016, at 3:30 PM, Tyler Cloutier via swift-evolution < > [email protected]> 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 > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution > > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution > > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
