> 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

Reply via email to