[swift-evolution] Smart KeyPaths
Charles Srstka
cocoadev at charlessoft.com
Sun Mar 19 18:47:30 CDT 2017
> On Mar 19, 2017, at 4:15 PM, Matthew Johnson <matthew at anandabits.com> wrote:
>
> On Mar 19, 2017, at 4:02 PM, Charles Srstka via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>
>>> On Mar 19, 2017, at 3:45 PM, Brent Royal-Gordon <brent at architechies.com <mailto:brent at architechies.com>> wrote:
>>>
>>>> On Mar 19, 2017, at 12:57 PM, Charles Srstka via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>>
>>>>> I disagree. How the reader is supposed to now there is a static property or not ? Having readable code is more important than having easy to write code.
>>>>
>>>> I’ve got to agree with this. With the proposed syntax, it’s unclear whether you’re referring to a static property or a key path. It’s going to cause confusion. There needs to be some kind of syntactic way to differentiate the two.
>>>
>>> How often do you have a property with the exact same name and type on both the instance and type? When you *do* have one, how often would it be better off with a name like `defaultFoo` instead of plain `foo`?
>>>
>>> Why is this a problem for keypaths, but not for unbound methods?
>>>
>>> How is this different from a hundred other places in Swift where we allow overloading and tolerate ambiguity in order to enjoy nicer syntax?
>>>
>>> When, in practice, do you expect this to cause trouble?
>>
>> Even if there *isn’t* a property with the same name, it’s still confusing, because to a reader unfamiliar with the code, it’s not clear what you’re looking at.
>
> This is true of many things. It is why IDEs make type information readily available.
Is clarity not a thing to be desired?
Charles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170319/bcf1b398/attachment.html>
More information about the swift-evolution
mailing list