[swift-evolution] SE-0105: Removing Where Clauses from For-In Loops

Tony Arnold tony at thecocoabots.com
Tue Jun 28 02:22:45 CDT 2016


Just to clarify:

I was +1-ing real world `where` clauses. I am against this proposal.

So… -1 from me on this proposal (and SE-0099 for what it’s worth).

Sorry!

-t


(Thanks for pointing out the confusion my email may have caused, Goffredo)



> On 28 Jun 2016, at 10:39, Tony Arnold <tony at thecocoabots.com> wrote:
> 
> I wasn’t going to be +1 guy, but “+1”: 
> 
> I use where pretty heavily across both `if let` and in `for … in` loops. 
> 
> I find both really readable when formatted, and I’d be disappointed to see them go. 
> 
> I’m super annoyed that I missed (see “wasn’t paying attention during”) the review of SE-0099 because I would have loved to see `where` remain usable — it reads better than a comma and forces an order to things that made a lot of sense to me.
> 
> thanks,
> 
> 
> Tony
> 
> 
> 
>> On 27 Jun 2016, at 18:15, David Rönnqvist via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> We’ve also got two occurrences in our closed source, production code:
>> 
>> for (predicate, callback) in predicatesAndCallbacks where predicate(typedEvent) {
>>     callback(typedEvent)
>> }
>> 
>> and:
>> 
>> for conversation in conversations where conversation.state == .Established { }
>> 
>> They’re both quite simple and short, but I find them very readable (and I find the first one quite elegant). That said, it wouldn’t be much trouble for us to rewrite these using guard statements or any other construct. 
>> 
>> - David
>> 
>> 
>>> On 27 Jun 2016, at 00:47, Russ Bishop via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>> 
>>>> 
>>>> On Jun 23, 2016, at 7:14 PM, Erica Sadun via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>> 
>>>> 
>>>>> On Jun 23, 2016, at 7:34 PM, William Shipley via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>>> 
>>>>> I’m against removing “where" from “for/in”. I use it in my code and I think it aids readability quite a bit. In the example:
>>>>> 
>>>>> for x in theArray where x % 2 == 1 { print (x) }
>>>> I have used odd-even examples a lot when presenting this concept, and inevitably the response
>>>> is "Whoa, that's cool". What I'm missing are more challenging real-world use-cases to justify 
>>>> the construct, and an exploration of why the challenging cases would not need debugger 
>>>> support at that point.
>>>> 
>>>> My concern (and I am happy to be corrected) is that any code that becomes slightly more 
>>>> complex loses the beauty and readability and hinders debugging at the same time.
>>>> 
>>>> — E
>>> 
>>> Here are two that are shipping right now. 
>>> 
>>> for (key, tile) in self._cache where tile.tintColor != self.tintColor { }
>>> 
>>> for innerArray in actualValue where innerArray.contains(expectedElement) { }
>>> 
>>> Russ
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> ----------
> Tony Arnold
> +61 411 268 532
> http://thecocoabots.com/ <http://thecocoabots.com/>
> 
> ABN: 14831833541
> 

----------
Tony Arnold
+61 411 268 532
http://thecocoabots.com/ <http://thecocoabots.com/>

ABN: 14831833541

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160628/0bbfa1bf/attachment-0001.html>


More information about the swift-evolution mailing list