> On May 31, 2016, at 1:59 PM, Brandon Knope <[email protected]> wrote: > > Except "b" is the main focus of the where clause and b was just in the > preceding if condition. > > I feel like we are trying to find ways to break the current where clause even > though we've enjoyed it for almost a year now. I had no idea it was > problematic and restrictive. I thought it made its intent very > clear...leading to very readable code. > > Pretty soon almost every construct but conditionals will be allowed to have > where clauses, and THAT seems inconsistent to me. > > ...what exactly is the current problem? Can someone show me a real world > example?? I've already forgotten it in all of this discussion -_- > > Brandon >
I did this to explore why many people are reluctant to give-up ‘where’. The use of ‘where' seems intuitive to mess well, and I did not understand why. It seems to natural group all logic concerning a constant with its definition and this seems to be a way to do that. These rules add restrictions, but it does group related elements. I am not convinced that this improves the language, but I though that it was worth exploring. > On May 31, 2016, at 3:47 PM, Xiaodi Wu via swift-evolution > <[email protected] <mailto:[email protected]>> wrote: > >> >> >> On Tue, May 31, 2016 at 2:45 PM, Christopher Kornher via swift-evolution >> <[email protected] <mailto:[email protected]>> wrote: >>> >>> Not allowed: >>> … >>> let a = a >>> let b = b where b > 10 && a > 5 >>> >>> Why would this not be allowed by your rule? You're making use of `b` in >>> your where clause. As I demonstrated above, essentially any assertion can >>> be rewritten to work around your rule. In general: >> >> It is not allowed because ‘a’ is defined in the line above. It must be >> defined in the ‘if let’ associated with the where in which it is mentioned. >> >> That's a much more restrictive where clause than you proposed earlier. You'd >> not be able to write: >> >> ``` >> let b = b where b > anyOtherVariable >> ``` >> >> _______________________________________________ >> swift-evolution mailing list >> [email protected] <mailto:[email protected]> >> https://lists.swift.org/mailman/listinfo/swift-evolution >> <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
