> On May 18, 2016, at 11:33 AM, Brent Royal-Gordon <[email protected]> 
> wrote:
> 
>> I thought about this, but { $0 } is already a fairly compact way to express 
>> the identity function.
> 
> It is, but I worry a bit about the core team's tendency to say "Oh, just use 
> a closure" whenever something like this comes up. A function/method/property 
> name can be merely *read*; a closure must be *interpreted*. And writing 
> closures is error-prone—a slip of the keys and you've written `{ 0 }` or `{ 
> 40 }` instead of `{ $0 }`, which look similar and (soon will) work in the 
> same expressions but behave completely differently.

It seems to me that you could just as easily fat-finger `self` when you meant 
`.self`. The type system is likely to catch both `{ 0 }` and `self` mistakes.

-Joe

> Naming operations is powerful; it helps you understand them better and it 
> helps you avoid fat-fingering them.
> 
> -- 
> Brent Royal-Gordon
> Architechies
> 

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to