Isn’t Swift too young to have any sort of established dialect? Removing everything takes away from an organic process of discovering what the dialect will be. Instead we are shoehorning a dialect in the early stages of swift when a lot hasn’t even been established yet.
Maybe the mistake is trying to fit all these breaking changes into Swift 3. I think it is just too much for such a young language that is still trying to find itself. Brandon > On Jun 10, 2016, at 2:41 PM, Xiaodi Wu via swift-evolution > <swift-evolution@swift.org> wrote: > > On Fri, Jun 10, 2016 at 1:14 PM, Ryan Lovelett <swift-...@ryan.lovelett.me > <mailto:swift-...@ryan.lovelett.me>> wrote: > @Xiaodi Wu a couple of times you've said things were "explicit" this or that. > > > * Swift is explicitly a C-family language. In most or all other C-family > > languages, for loop statements allow specification of conditions for > > exiting the loop but not for filtering. Therefore, Swift's use of `where` > > is unprecedented and needs to be learned anew by every user of Swift. > > > That is worrying if true, because it suggests that it's enabling 'dialects' > > of Swift, an explicit anti-goal of the language > > Though I've never read either of these before as being goals (or for that > matter anti-goals). Perhaps I'm looking in the wrong places though. Can you > please share these with me? > > These have been gleaned from pronouncements from the core team here on this > list. Unfortunately, it's not easy to search the archives. I'll give one > example, but I've seen similar ideas repeated a few times. Obviously, they > take place in the context of discussions about other features that are not > exactly the same as this, so one can wonder how much they apply here. If they > were exactly parallel situations, we wouldn't be having this discussion. > > Chris Lattner's response to a proposal to adopt some Python-like syntax that > you can use if you like, but don't have to if you don't (Dec. 6, 2015): > > > We're not interested in fragmenting Swift into related-but-different dialects. > -Chris > > > In trying to track that information down I read over https://swift.org/about/ > <https://swift.org/about/> trying to find if I could glean any information > about some guiding principles. When I stumbled upon this and wondered if > anyone else would find it illuminating. > > From the "Features" section: > > > Fast and concise iteration over a range or collection > > Does this proposal enhance that feature? Does this proposal weaken that > feature? > > I've thought about that for a little bit and I'm pretty sure that removing > `where` from for in certainly does not enhance that feature from my > perspective. > > No, but I don't think it harms fast and concise iteration; hence, I argue > that `where` is redundant. > > > If I understand everything this all started because `if` can no longer have > `where`. Following that and basing it completely on the example in this > proposal ( > <https://gist.github.com/erica/dd5935eca0d5d06b046184f41d56dd04>https://gist.github.com/erica/dd5935eca0d5d06b046184f41d56dd04#confusion-of-use > > <https://gist.github.com/erica/dd5935eca0d5d06b046184f41d56dd04#confusion-of-use>) > it seems to me that the behavior of the `where` clause of the `while` was > analogous to the now removed `if` behavior. > > Therefore, if we are going to remove something lets remove the `where` clause > from `while`. > > My understanding is that removal from `while` is also part of SE-0099 and > already approved. > > As is already correctly pointed out in the "confusion of use" section the > outlier behavior was `for in`. We deprecated the `if` behavior because of > [fill in the blank], forgive me I never read the arguments, if `while` works > the same way why does it not logically follow that its `where` clause also be > deprecated. > > With that as far as I'm concerned this proposal is just requesting the > retirement of the `where` clause on the wrong loop structure. Of course more > examples could change my mind. > > I'll endeavor to change your mind :) FWIW, I'd be satisfied with reforming > instead of removing `where` if doing so can clarify its meaning. > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org <mailto:swift-evolution@swift.org> > https://lists.swift.org/mailman/listinfo/swift-evolution > <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution