[swift-evolution] [Review] SE-0090: Remove .self and freely allow type references in expressions

Brent Royal-Gordon brent at architechies.com
Wed May 18 13:33:35 CDT 2016


> 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.

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