> On Mar 29, 2017, at 6:32 PM, Brent Royal-Gordon via swift-evolution > <[email protected]> wrote: > >> On Mar 29, 2017, at 6:21 PM, Jonathan Hull via swift-evolution >> <[email protected]> wrote: >> >>> I would love it if we found a way to retain something as concise as that >>> shorthand. I'm working on a library where users will specify a collection >>> of key paths pairs. This shorthand would be a very nice piece of sugar >>> making the code expressing these collections (usually literals) quite a bit >>> more readable. >> >> +1 for this. I think it will be somewhat common to pass around arrays of >> these things, and a shorthand syntax of some sort would make that nicer. >> That said, I don’t want to slow down the proposal, since I will be using >> this feature the very second it becomes available. > > Agreed. > > One more thought on this: I don't think anyone really likes the > #keyPath(Type, .key1.key2)` syntax; it's just the best we've come up with. If > the syntax were instead this: > > #keyPath(Type).key1.key2 > > I think that would look cleaner and avoid drawing distinctions based on > subtle punctuation differences. I don't think it would clash with old-style > key paths since you can't have a key path to a type name anyway. And support > for the leading-dot syntax would fall out of it quite naturally.
KeyPath objects themselves have properties, so key1 could be a member of KeyPath. This doesn't seem workable. -Joe _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
