You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 26, 2023. It is now read-only.
Copy file name to clipboardExpand all lines: _drafts/2017-04-06-issue-64.md
+29-11Lines changed: 29 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -14,19 +14,15 @@ sponsor:
14
14
15
15
{% include sponsor.html %}
16
16
17
-
### Starter tasks
18
-
19
-
> TODO
20
-
21
-
{% include task_remind.html %}
22
-
23
17
### Swift Unwrapped
24
18
25
19
> TODO: Latest episode of Swift Unwrapped
26
20
27
21
### News and community
28
22
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.
30
26
31
27
### Commits and pull requests
32
28
@@ -46,14 +42,36 @@ sponsor:
46
42
47
43
### Proposals in review
48
44
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)
52
70
53
71
### Mailing lists
54
72
55
73
> TODO
56
74
57
75
### Finally
58
76
59
-
> TODO: something funny/fun. tweet, link, etc.
77
+
And finally — the `isn't`[operator](https://twitter.com/harlanhaskins/status/848172027760574465). 😂
0 commit comments