[swift-evolution] [Review] SE-0090: Remove .self and freely allow type references in expressions
Joe Groff
jgroff at apple.com
Wed May 18 14:51:18 CDT 2016
> On May 18, 2016, at 11:33 AM, Brent Royal-Gordon <brent at architechies.com> 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
>
More information about the swift-evolution
mailing list