Skip to content
This repository was archived by the owner on Mar 26, 2023. It is now read-only.

Commit b44c7b6

Browse files
committed
[64] draft update. #204
1 parent 14de8b8 commit b44c7b6

File tree

1 file changed

+29
-11
lines changed

1 file changed

+29
-11
lines changed

_drafts/2017-04-06-issue-64.md

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,15 @@ sponsor:
1414

1515
{% include sponsor.html %}
1616

17-
### Starter tasks
18-
19-
> TODO
20-
21-
{% include task_remind.html %}
22-
2317
### Swift Unwrapped
2418

2519
> TODO: Latest episode of Swift Unwrapped
2620
2721
### News and community
2822

29-
> TODO
23+
JP Simard [noticed](https://twitter.com/simjp/status/848288462952316928) references to "rename" actions in [SourceKit](https://github.com/apple/swift/tree/master/tools/SourceKit) in Xcode 8.3, and predicted we'll see refactoring support for Swift in Xcode 9. He also [pointed out](https://twitter.com/simjp/status/848288609006309376) that the "Swift Syntax Structured Editing Library" that [was announced](https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20170206/004066.html) a couple of months ago is an even bigger indication of refactoring support. If true, this would be a huge relief for developers. This is something I've wanted from Xcode for years (!) now. Let's hope we see this at WWDC in a few months!
24+
25+
Speaking of JP Simard, he released [SourceKitten 0.17.1](https://github.com/jpsim/SourceKitten/releases/tag/0.17.1), which includes Swift 3.1 support.
3026

3127
### Commits and pull requests
3228

@@ -46,14 +42,36 @@ sponsor:
4642
4743
### Proposals in review
4844

49-
[SE-0161](https://github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md): *Smart KeyPaths: Better Key-Value Coding for Swift* is [under review](https://lists.swift.org/pipermail/swift-evolution-announce/2017-March/000334.html).
50-
51-
> We propose a family of concrete Key Path types that represent uninvoked references to properties that can be composed to form paths through many values and directly get/set their underlying values.
45+
[SE-0161](https://github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md): *Smart KeyPaths: Better Key-Value Coding for Swift* by David Smith, Michael LeHew, and Joe Groff is [under review](https://lists.swift.org/pipermail/swift-evolution-announce/2017-March/000334.html).
46+
47+
> We propose a family of concrete _Key Path_ types that represent uninvoked references to properties that can be composed to form paths through many values and directly get/set their underlying values.
48+
>
49+
> **We Can Do Better than String**<br/>
50+
> On Darwin platforms Swift's existing `#keyPath()` syntax provides a convenient way to safely *refer* to properties. Unfortunately, once validated, the expression becomes a `String` which has a number of important limitations:
51+
>
52+
> * Loss of type information (requiring awkward `Any` APIs)
53+
> * Unnecessarily slow to parse
54+
> * Only applicable to `NSObjects`
55+
> * Limited to Darwin platforms
56+
>
57+
> **Use/Mention Distinctions**<br/>
58+
> While methods can be referred to without invoking them (`let x = foo.bar` instead of `let x = foo.bar()`), this is not currently possible for properties and subscripts. Making indirect references to a properties' concrete types also lets us expose metadata about the property, and in the future additional behaviors.
59+
>
60+
> **More Expressive KeyPaths**<br/>
61+
> We would also like to support being able to use _Key Paths_ to access into collections, which is not currently possible.
62+
63+
[SE-0155](https://github.com/apple/swift-evolution/blob/master/proposals/0155-normalize-enum-case-representation.md): *Normalize Enum Case Representation* by Daniel Duan and Joe Groff is [under review](https://lists.swift.org/pipermail/swift-evolution-announce/2017-March/000336.html).
64+
65+
> In Swift 3, associated values of an enum case are represented by a tuple. This implementation causes inconsistencies in case declaration, construction and pattern matching in several places.
66+
>
67+
> Enums, therefore, can be made more "regular" when we replace tuple as the representation of associated case values. This proposal aims to define the effect of doings so on various parts of the language.
68+
>
69+
> Swift-evolution thread: [Normalize Enum Case Representation (rev. 2)](https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170306/033626.html)
5270
5371
### Mailing lists
5472

5573
> TODO
5674
5775
### Finally
5876

59-
> TODO: something funny/fun. tweet, link, etc.
77+
And finally &mdash; the `isn't` [operator](https://twitter.com/harlanhaskins/status/848172027760574465). 😂

0 commit comments

Comments
 (0)