Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP [ConstraintSystem] Ability to treat key path literal syntax as function type (Root) -> Value. #19448

Closed
wants to merge 6 commits into from

Conversation

gregomni
Copy link
Collaborator

@gregomni gregomni commented Sep 21, 2018

A WIP because I haven't added tests yet. Allows coercion from KeyPath to function type in any context that expects a (Root) -> Value function type, and allows for the constraint system to figure out the desired KeyPath type from the function type for incomplete key types (e.g. constructions like \.foo where the root is unspecified).

Just creates an implicit auto closure to perform the key path application expr to { $0[keyPath: expr] }. Generated SIL is identical except for the closure name.

This is the potential feature as discussed in quite a few sorting/mapping threads on evolution, and most specifically here: https://forums.swift.org/t/key-path-getter-promotion/11185/4

@gregomni gregomni changed the title WIP [ConstraintSystem] Implicit conversion of KeyPath<Root,Value> to functino (Root) -> Value. WIP [ConstraintSystem] Implicit conversion of KeyPath<Root,Value> to function (Root) -> Value. Sep 21, 2018
@gregomni
Copy link
Collaborator Author

@swift-ci Please smoke test.

@xedin xedin requested a review from jckarter September 21, 2018 18:23
@jckarter
Copy link
Member

I would rather we didn't add any more implicit conversions, and instead looked into generalizing the literal syntax to work in function contexts.

@gregomni
Copy link
Collaborator Author

gregomni commented Sep 21, 2018

I would rather we didn't add any more implicit conversions, and instead looked into generalizing the literal syntax to work in function contexts.

Can you go into why that would be preferable? Are there other types that would conform to ExpressibleByKeyPathLiteral? (Seems just as good to extend KeyPath instead of whatever other type you'd want to conform, and we don't really have a convenient way to hang ExpressibleByKeyPathLiteral onto function types so we'd end up with most of this similar code in the constraint system to decide to use it.) I think the main usability issue is just the distinction between a nominal type and a function type, and as long as you have easy access to referring to both, you've covered pretty much all the bases.

And you'd be removing conveniences for non-literals like

func keyMap<T, U>(_ array: [T], key: KeyPath<T, U>) -> [U] {
    return array.map(key)
}

... which granted, by itself is not terribly compelling, but it seems an odd thing to want to limit.

@jckarter
Copy link
Member

jckarter commented Sep 21, 2018

Implicit conversions impact the entire type system, and we've set up an expectation that they hold for dynamic casts too, complicating the runtime implementation as well. Key paths and functions also currently have non-overlapping capabilities; key paths have to refer to specific declarations and subscripts/methods with hashable arguments in order to provide equality, but functions generally don't need to be equatable, so literal references in function context could be less constrained. As for whether other things could be ExpressibleByKeyPathLiteral, that doesn't seem completely out of the question.

For the general case of non-literal key paths, it doesn't seem terribly onerous to put a get method on KeyPath and use that.

@gregomni
Copy link
Collaborator Author

I find the runtime expectation argument fairly convincing. How about a compromise: I think that removing the KeyPathToFunction coercion restriction, but keeping the simplifyKeyPathConstraint changes and moving the autoclosure-ing out of coerceToType and putting it directly into visitKeyPathExpr in CSApply will have the effect you're aiming at -- KeyPathExpr then effectively becomes the literal form that is usable as a function type, but there isn't any general type coercion. But also, there'd still be no ExpressibleBy... support.

…ype and can be either a KeyPath(R,V) or (R)->V.
@gregomni
Copy link
Collaborator Author

Latest commit is what it would look like with KeyPathExpr being effectively a literal which can be either KeyPath<R,V> or (R)->V.

Results in:

struct Person {
    var address: Address
}
struct Address {
    var street: String
}
func f1(_ ps: [Person]) -> [String] {
    return ps.map(\.address.street) // compiles, runs
}
func f2(_ ps: [Person]) -> [String] {
    return ps.map(\Person.address.street) // compiles, runs
}

func f3(_ ps: [Person]) -> [String] {
    let kp = \Person.address.street
    return ps.map(kp) // cannot convert value of type 'WritableKeyPath<Person, String>' to expected argument type '(Person) throws -> String'
}

@gregomni gregomni changed the title WIP [ConstraintSystem] Implicit conversion of KeyPath<Root,Value> to function (Root) -> Value. WIP [ConstraintSystem] Ability to treat key path literal syntax as function type (Root) -> Value. Sep 25, 2018
@davedelong
Copy link

func f2(_ ps: [Person]) -> [String] {
    return ps.map(\Person.address.street) // compiles, runs
}

func f3(_ ps: [Person]) -> [String] {
    let kp = \Person.address.street
    return ps.map(kp) // cannot convert value of type 'WritableKeyPath<Person, String>' to expected argument type '(Person) throws -> String'
}

I think the distinction here is too fine. This would totally confuse people. It confuses me.

@jckarter
Copy link
Member

Not that it's an argument for or against, but this is the same situation you get with other literals:

func foo(x: UInt8)

foo(x: 0) // ok

let y = 0 // implicitly Int
foo(x: y) // type mismatch

@davedelong
Copy link

Not that it's an argument for or against, but this is the same situation you get with other literals:

func foo(x: UInt8)

foo(x: 0) // ok

let y = 0 // implicitly Int
foo(x: y) // type mismatch

Eh, it's not really the same. I can make that work by changing the IntegerLiteralType. Would I be able to do something analogous here?

@jckarter
Copy link
Member

jckarter commented Sep 26, 2018

@gregomni Thanks for prototyping this! If we were going to go in this direction for real, I think it'd be better to handle this earlier in the pipeline. Whereas, for key path literals that become KeyPaths, we have to resolve the components in a specific way in order to validate the components, collect hashing conformances, etc., none of that is really relevant to a key path literal in function context. In such a context, I think we'd want to take the parsed expr-postfix production as is and wrap it in a closure early, turning \T.<postfix-expression> into { $0.<postfix-expressions> }. This should make it possible for key path literals in function type context to also reference methods, which key paths currently don't allow, as well as subscripts with non-hashable indexes.

@jckarter
Copy link
Member

@davedelong To me, it makes sense to eventually turn this into a new literal type with an ExpressibleByKeyPathLiteral protocol that user-defined types can also conform to. If we do that, then I think it'd make sense to allow the KeyPathLiteralType to be contextually overridden the same way IntegerLiteralType can.

…eeds to refer to the beginning of the closure in `\.foo as (A) -> B`.

Removed explicit noescape from function type so `let a: (A) -> B = \.foo` is valid.
Remove optimization that optional path is always read-only KP type in CSGen, since it can also now be of function type.
@gregomni
Copy link
Collaborator Author

@davedelong You can explicitly specify the type, just like in the UInt case, and then it compiles correctly:

func f4(_ ps: [Person]) -> [String] {
    let kp: (Person) -> String = \Person.address.street
    return ps.map(kp) 
}

@gregomni
Copy link
Collaborator Author

@jckarter I think that making the key path syntax sometimes have different semantics from key path application is asking for trouble, both coder expectation-wise, and also compiler maintenance-wise down the road. I can see how it'd be appealing to do as you suggest, but I think it'd be much better to implement support for methods and non-hashable subscripts in key path application instead.

@jckarter
Copy link
Member

The constraints on literals in KeyPath context make sense given the requirements of KeyPath, but if we're generalizing this to eventually be a general "unapplied declaration reference" literal syntax, then those constraints don't make sense to apply unilaterally except that historically KeyPath happened to be the first client of this syntax. By analogy to other literals, you can't use a negative integer literal to initialize an unsigned type, for instance.

@gregomni
Copy link
Collaborator Author

gregomni commented Sep 28, 2018

I'm hesitant about premature generalization. It feels to me like we have a nominal form and a functional form of lensing (and so maybe the next step is also allowing (inout Root, Value) -> Void for writable key paths) rather than a general reference literal syntax. I'd greatly prefer to have a real life scenario with a distinct third type that wants to be initialized from a key path literal before I would go down the road of deciding which parts are shared by the generalization and which parts differ between the examples.

@natecook1000
Copy link
Member

it'd make sense to allow the KeyPathLiteralType to be contextually overridden the same way IntegerLiteralType can.

@jckarter A stumbling block I see with this is that we don't have a nominal type to give to KeyPathLiteralType if we want the default to be a function type rather than KeyPath. Is the idea that KeyPathLiteralType would be a generic type alias, so that one could write either of these lines?

typealias KeyPathLiteralType<T, U> = (T) -> U
typealias KeyPathLiteralType<T, U> = KeyPath<T, U>

@jckarter
Copy link
Member

Yeah, that's what I had in mind. At the time we implemented user-defined literals, we didn't have generic typealiases, so ArrayLiteralType and DictionaryLiteralType were never implemented, but we really ought to go back and implement those now too.

@beccadax
Copy link
Contributor

@swift-ci please smoke test

@airspeedswift
Copy link
Member

Hi @gregomni could you rebase your PR? Then we could produce a toolchain for people to try out as part of the review.

@beccadax
Copy link
Contributor

@airspeedswift @gregomni I actually just finished squashing, rebasing, and fixing a bug in this PR in #23435. I'm running smoke tests on it now; I'll see if I can get source compatibility and compiler performance tests next.

@rjmccall
Copy link
Member

Building an anonymous closure that just applies the key path components is, unfortunately, the wrong semantics for this; to be consistent with the normal semantics for key path evaluation, you need any subscript indices to be evaluated and captured at the time of creating the function.

@gregomni
Copy link
Collaborator Author

gregomni commented Jul 8, 2019

Closing in favor of #23435

@gregomni gregomni closed this Jul 8, 2019
jpsim added a commit to swiftunwrapped/swiftunwrapped.github.io that referenced this pull request Nov 15, 2020
diff --git a/01631c29.md b/01631c29.md
index 9eb43fc..92adfb7 100644
--- a/01631c29.md
+++ b/01631c29.md
@@ -9,13 +9,13 @@ permalink: /episodes/01631c29/
 * String Manifesto: https://github.com/apple/swift/blob/master/docs/StringManifesto.md
 * Chris Lattner on Swift 4 goals including String re-evaluation: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160725/025676.html
 * Ole Begemann:
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Why String.CharacterView is not a MutableCollection: https://oleb.net/blog/2017/02/why-is-string-characterview-not-a-mutablecollection/
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts One for the Unicode Nerds: https://oleb.net/blog/2014/06/one-for-the-unicode-nerds/
+    * Why String.CharacterView is not a MutableCollection: https://oleb.net/blog/2017/02/why-is-string-characterview-not-a-mutablecollection/
+    * One for the Unicode Nerds: https://oleb.net/blog/2014/06/one-for-the-unicode-nerds/
 * Objc.io article on unicode: https://www.objc.io/issues/9-strings/unicode/
 * Unsafe API proposal: https://github.com/apple/swift/pull/7479
 * SipHash:
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/blob/master/stdlib/public/core/SipHash.swift.gyb
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/pull/4621
+    * https://github.com/apple/swift/blob/master/stdlib/public/core/SipHash.swift.gyb
+    * https://github.com/apple/swift/pull/4621

 ### Thank You

diff --git a/083dd5d3.md b/083dd5d3.md
index ddaae16..abd2d6a 100644
--- a/083dd5d3.md
+++ b/083dd5d3.md
@@ -19,19 +19,19 @@ In this episode, we cover:
 ---

 * Dollar Sign
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift-evolution/blob/master/proposals/0144-allow-single-dollar-sign-as-valid-identifier.md
+    * https://github.com/apple/swift-evolution/blob/master/proposals/0144-allow-single-dollar-sign-as-valid-identifier.md
 * Swift Weekly
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Issue 39, https://swiftweekly.github.io/issue-39/
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Slava Pestov changed variadic closure arguments to be @escaping by default, which is technically a source breaking change, but only for invalid code.
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Issue 42, https://swiftweekly.github.io/issue-42/
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Robert Widmann merged changes to reject standalone $ as identifiers, which were accidentally accepted as valid.
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Issue 43, https://swiftweekly.github.io/issue-43/
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Rintaro Ishizaki has submitted a pull request to fix SR-2843. In type parsing, P1 & P2.Type (new protocol syntax) was incorrect.
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts DougGregor fixed an unintentional source-breaking change from Swift 3 regarding implicitly-unwrapped optionals and type inference.
+    * Issue 39, https://swiftweekly.github.io/issue-39/
+        * Slava Pestov changed variadic closure arguments to be @escaping by default, which is technically a source breaking change, but only for invalid code.
+    * Issue 42, https://swiftweekly.github.io/issue-42/
+        * Robert Widmann merged changes to reject standalone $ as identifiers, which were accidentally accepted as valid.
+    * Issue 43, https://swiftweekly.github.io/issue-43/
+        * Rintaro Ishizaki has submitted a pull request to fix SR-2843. In type parsing, P1 & P2.Type (new protocol syntax) was incorrect.
+        * DougGregor fixed an unintentional source-breaking change from Swift 3 regarding implicitly-unwrapped optionals and type inference.
 * Minor source breaking change for sugared types: https://github.com/apple/swift/commit/4ebac86895383ad15e34de3671c6f423e96cfc98
 * Running the entire test suite with version 3 or 4: https://github.com/apple/swift/commit/1fcd7d725d1c23a27d4ea31e34e20f182e0b8c37
 * Ignored Labels for single-"Any"-argument functions
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/commit/30c4235193b64050f8110ef5598c7efb4501e0da
+    * https://github.com/apple/swift/commit/30c4235193b64050f8110ef5598c7efb4501e0da
 * Xcode 8.2 last release for Swift 2.3!

 ---
diff --git a/107053e7.md b/107053e7.md
index 8ba1e0e..01b3252 100644
--- a/107053e7.md
+++ b/107053e7.md
@@ -9,12 +9,12 @@ permalink: /episodes/107053e7/
 - Server APIs Project: https://swift.org/server-apis/
 - Server APIs Working Group: https://swift.org/blog/server-api-workgroup/
 - HTTP 0.1.0:
- -
- - https://github.com/swift-server/http/releases/tag/0.1.0
- - Docs: https://swift-server.github.io/http/
+    -
+    - https://github.com/swift-server/http/releases/tag/0.1.0
+    - Docs: https://swift-server.github.io/http/
 - Namespacing discussion:
- - https://lists.swift.org/pipermail/swift-server-dev/Week-of-Mon-20170522/000466.html
- - https://github.com/swift-server/http/pull/7
+    - https://lists.swift.org/pipermail/swift-server-dev/Week-of-Mon-20170522/000466.html
+    - https://github.com/swift-server/http/pull/7
 - Can file issues on the repo, no JIRA
 - Dedicated GitHub org: https://github.com/swift-server
 - Which web framework is the fastest? https://github.com/swift-server/which_is_the_fastest
diff --git a/115f3199.md b/115f3199.md
index 52369ce..6265ef9 100644
--- a/115f3199.md
+++ b/115f3199.md
@@ -11,18 +11,18 @@ There's been a much stronger focus on calling ObjC from Swift than the other way
 ### ObjC Interop Overview

 - Nikita Lutsenko's talk: https://realm.io/news/altconf-nikita-lutsenko-objc-swift-interoperability/
- - NS_SWIFT_NAME
- - NS_SWIFT_UNAVAILABLE
- - NS_REFINED_FOR_SWIFT
- - NS_SWIFT_NOTHROW
- - NS_NOESCAPE
- - NSEXTENSIBLESTRING_ENUM
- - Nullability Annotations
- - Generic Annotations
+    - NS_SWIFT_NAME
+    - NS_SWIFT_UNAVAILABLE
+    - NS_REFINED_FOR_SWIFT
+    - NS_SWIFT_NOTHROW
+    - NS_NOESCAPE
+    - NSEXTENSIBLESTRING_ENUM
+    - Nullability Annotations
+    - Generic Annotations
 - ClangImporter (omit needless words logic lives here)
 - PrintAsObjC
- - Kevin Ballard's PR to include unavailable/deprecated/availability attributes: https://github.com/apple/swift/pull/6480
- - ObjC codegen via string manipulation. Very hackable.
+    - Kevin Ballard's PR to include unavailable/deprecated/availability attributes: https://github.com/apple/swift/pull/6480
+    - ObjC codegen via string manipulation. Very hackable.

 ### Proposals on ObjC Interop

diff --git a/1ff40107.md b/1ff40107.md
index 30094e3..7f73735 100644
--- a/1ff40107.md
+++ b/1ff40107.md
@@ -9,8 +9,8 @@ permalink: /episodes/1ff40107/
 # SE-0166: Swift Archival & Serialization

 - NSCoding:
- - https://developer.apple.com/reference/foundation/nscoding
- - http://nshipster.com/nscoding/
+    - https://developer.apple.com/reference/foundation/nscoding
+    - http://nshipster.com/nscoding/
 - Swift Archival & Serialization: https://github.com/apple/swift-evolution/blob/master/proposals/0166-swift-archival-serialization.md
 - ABI Stability Dashboard: https://swift.org/abi-stability/

@@ -19,12 +19,12 @@ permalink: /episodes/1ff40107/
 - https://github.com/apple/swift-evolution/blob/master/proposals/0167-swift-encoders.md
 - Semantics of Codable Types in Archives
 - NSValueTransformer
- - https://developer.apple.com/reference/foundation/nsvaluetransformer
- - http://nshipster.com/nsvaluetransformer/
+    - https://developer.apple.com/reference/foundation/nsvaluetransformer
+    - http://nshipster.com/nsvaluetransformer/
 - "In the future, we may add API to allow Swift types to provide an Objective-C class to decode as, effectively allowing for user bridging across archival."
 - Similar to Russ Bishop’s proposal
- - Allow Swift types to provide custom Objective-C representations
- - https://github.com/apple/swift-evolution/blob/master/proposals/0058-objectivecbridgeable.md
+    - Allow Swift types to provide custom Objective-C representations
+    - https://github.com/apple/swift-evolution/blob/master/proposals/0058-objectivecbridgeable.md

 ### Thank You

diff --git a/22a6c652.md b/22a6c652.md
index f9f8e93..6001af5 100644
--- a/22a6c652.md
+++ b/22a6c652.md
@@ -8,9 +8,9 @@ permalink: /episodes/22a6c652/

 - Enable core dumps: `ulimit -c unlimited`
 - Mutating functions require exclusive access:
- - https://twitter.com/simjp/status/928714602937905153
- - "Calling a mutating method on a value type is a write access that lasts for the duration of the method."
- - https://github.com/apple/swift-evolution/blob/master/proposals/0176-enforce-exclusive-access-to-memory.md#proposed-solution
+  - https://twitter.com/simjp/status/928714602937905153
+  - "Calling a mutating method on a value type is a write access that lasts for the duration of the method."
+  - https://github.com/apple/swift-evolution/blob/master/proposals/0176-enforce-exclusive-access-to-memory.md#proposed-solution
 - TSan with SwiftPM: https://twitter.com/simjp/status/929140877540278272
 - Running TSan on CI: https://github.com/realm/SwiftLint/pull/1944
 - WIP Adding first-party support for tsan to SwiftPM: https://github.com/apple/swift-package-manager/pull/1390
diff --git a/259160c9.md b/259160c9.md
index ffcf9cc..865f514 100644
--- a/259160c9.md
+++ b/259160c9.md
@@ -9,8 +9,8 @@ permalink: /episodes/259160c9/
 - Moving to Discourse, email from Ted: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170206/031657.html
 - Nate Cook's Discourse experiment: http://discourse.natecook.com/
 - Slava tweets:
- - https://twitter.com/slava_pestov/status/854490613575700480
- - https://twitter.com/slava_pestov/status/857382737669271552
+    - https://twitter.com/slava_pestov/status/854490613575700480
+    - https://twitter.com/slava_pestov/status/857382737669271552

 ### Thank You

diff --git a/2b098627.md b/2b098627.md
index dfb54c9..a7f3a6a 100644
--- a/2b098627.md
+++ b/2b098627.md
@@ -11,9 +11,9 @@ permalink: /episodes/2b098627/
 * Key Path Expressions as Functions: https://forums.swift.org/t/key-path-expressions-as-functions/19587
 * Implementation: https://github.com/apple/swift/pull/19448
 * Previous discussion threads:
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://forums.swift.org/t/allow-key-path-literal-syntax-in-expressions-expecting-function-type/16453
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://forums.swift.org/t/key-path-getter-promotion/11185
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://forums.swift.org/t/pitch-keypath-based-map-flatmap-filter/6266
+  * https://forums.swift.org/t/allow-key-path-literal-syntax-in-expressions-expecting-function-type/16453
+  * https://forums.swift.org/t/key-path-getter-promotion/11185
+  * https://forums.swift.org/t/pitch-keypath-based-map-flatmap-filter/6266
 * Original "Smart Key Path" proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md
 * Kuery: https://github.com/kishikawakatsumi/Kuery

diff --git a/2b182911.md b/2b182911.md
index e398318..5eea090 100644
--- a/2b182911.md
+++ b/2b182911.md
@@ -10,7 +10,7 @@ permalink: /episodes/2b182911/

 * Official Swift 3.1 release post: https://swift.org/blog/swift-3-1-released/
 * Swift 3.1 was first available on Swift for iPad, not macOS 🙀
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://twitter.com/stroughtonsmith/status/844451069228994560
+    * https://twitter.com/stroughtonsmith/status/844451069228994560
 * Anna Zaks, program analysis at Apple: https://twitter.com/zaks_anna
 * Visual Debugging with Xcode WWDC 2016: https://developer.apple.com/videos/play/wwdc2016/410/
 * ASAN: https://en.wikipedia.org/wiki/AddressSanitizer
diff --git a/3fdcca35.md b/3fdcca35.md
index f23f57c..7852ff3 100644
--- a/3fdcca35.md
+++ b/3fdcca35.md
@@ -8,9 +8,9 @@ permalink: /episodes/3fdcca35/

 * [Proposal SE-0258](https://github.com/apple/swift-evolution/blob/master/proposals/0258-property-wrappers.md)
 * Review threads:
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [First review](https://forums.swift.org/t/se-0258-property-delegates/23139)
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [Second review](https://forums.swift.org/t/se-0258-property-wrappers-second-review/25843)
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [Third review](https://forums.swift.org/t/se-0258-property-wrappers-third-review/26399)
+  * [First review](https://forums.swift.org/t/se-0258-property-delegates/23139)
+  * [Second review](https://forums.swift.org/t/se-0258-property-wrappers-second-review/25843)
+  * [Third review](https://forums.swift.org/t/se-0258-property-wrappers-third-review/26399)
 * Blog post by [Vincent Padreilles](https://twitter.com/v_pradeilles) on [using property wrappers](https://gist.github.com/vincent-pradeilles/875c9dd165542912f3803f8e01b3e15e)
 * Blog post by [John Sundell](https://twitter.com/johnsundell) on [The Swift 5.1 features that power SwiftUI’s API](https://www.swiftbysundell.com/posts/the-swift-51-features-that-power-swiftuis-api#property-wrappers)
 * [Originally pitched in the Swift forums as "Property Behaviors" in 2015-2016](https://github.com/apple/swift-evolution/blob/master/proposals/0030-property-behavior-decls.md)
diff --git a/451cc858.md b/451cc858.md
index a4170a1..24dffdf 100644
--- a/451cc858.md
+++ b/451cc858.md
@@ -10,5 +10,5 @@ permalink: /episodes/451cc858/
 - Why the Swift Server Working Group's http library doesn't have an Xcode project: https://mobile.twitter.com/daniel_dunbar/status/923691076635914240
 - SE-0186 Removing ownership keywords in protocols: https://github.com/apple/swift-evolution/blob/master/proposals/0186-remove-ownership-keyword-support-in-protocols.md
 - Either/Result type
- - https://github.com/apple/swift-evolution/pull/757
- - https://twitter.com/slava_pestov/status/925133908835835904
+  - https://github.com/apple/swift-evolution/pull/757
+  - https://twitter.com/slava_pestov/status/925133908835835904
diff --git a/4e7ad642.md b/4e7ad642.md
index 3bea7c9..74419d1 100644
--- a/4e7ad642.md
+++ b/4e7ad642.md
@@ -11,7 +11,7 @@ permalink: /episodes/4e7ad642/
 * First came the private/fileprivate change (SE-0025): https://github.com/apple/swift-evolution/blob/master/proposals/0025-scoped-access-level.md
 * Then came open (SE-0117): https://github.com/apple/swift-evolution/blob/master/proposals/0117-non-public-subclassable-by-default.md
 * For the last few weeks, a faction in the community has been proposing undoing it (SE-0159): https://github.com/apple/swift-evolution/blob/master/proposals/0159-fix-private-access-levels.md
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts Wow. Such email. Very list. https://twitter.com/swiftlybrief/status/846938309666492417
+    * Wow. Such email. Very list. https://twitter.com/swiftlybrief/status/846938309666492417
 * Rejection email: https://lists.swift.org/pipermail/swift-evolution-announce/2017-April/000337.html
 * Doug Gregor opens discussion for expanding private: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170403/034903.html
 * David Hart, with a new proposal from Doug’s suggestions: https://github.com/apple/swift-evolution/pull/668
@@ -21,7 +21,7 @@ permalink: /episodes/4e7ad642/

 * Features shouldn't be designed and deliberated in isolation. Decisions need to be holistic and forward-thinking. It's the project management equivalent of ABI resilience. "Design Resilience".
 * Robert Widmann's draft modules proposal: https://gist.github.com/CodaFi/cd66b7d70b5cd8e4e8b433fa2ace378a
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts fileprivate access can be recreated by creating a private "utility submodule" containing declarations of at least internal access.
+    * fileprivate access can be recreated by creating a private "utility submodule" containing declarations of at least internal access.

 ###Thank You

diff --git a/620464c0.md b/620464c0.md
index 8050eec..d5042bd 100644
--- a/620464c0.md
+++ b/620464c0.md
@@ -7,11 +7,11 @@ permalink: /episodes/620464c0/
 # 40: Dynamic Member Lookup Proposal

 - Introduce User-defined "Dynamic Member Lookup" Types:
- - First version: https://github.com/apple/swift-evolution/pull/768
- - Second version: https://github.com/apple/swift-evolution/pull/774
+  - First version: https://github.com/apple/swift-evolution/pull/768
+  - Second version: https://github.com/apple/swift-evolution/pull/774
 - Implementations:
- - First version: https://github.com/apple/swift/pull/13076
- - Second version: https://github.com/apple/swift/pull/13361
+  - First version: https://github.com/apple/swift/pull/13076
+  - Second version: https://github.com/apple/swift/pull/13361
 - Related "dynamic callable" proposal (gist in progress): https://gist.github.com/lattner/a6257f425f55fe39fd6ac7a2354d693d
 - Chris’s email to Swift Evolution: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20171113/041463.html

diff --git a/6d5d06fc.md b/6d5d06fc.md
index 7ef3e2f..08ba695 100644
--- a/6d5d06fc.md
+++ b/6d5d06fc.md
@@ -10,9 +10,9 @@ permalink: /episodes/6d5d06fc/
 * TL;DR: https://gist.github.com/Gankro/1f79fbf2a9776302a9d4c8c0097cc40e
 * Graydon Hoare, Swift team member, creator of Rust: https://en.wikipedia.org/wiki/Rust_(programming_language)
 * Some work has already landed to enforce exclusivity in Swift 4:
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/pull/9373
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/pull/9198
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/pull/9112
+    * https://github.com/apple/swift/pull/9373
+    * https://github.com/apple/swift/pull/9198
+    * https://github.com/apple/swift/pull/9112

 ### Thank You

@@ -21,4 +21,4 @@ Thanks to this episode's sponsor, [BuddyBuild][1]: a continuous integration, con
 Try it free today at https://www.buddybuild.com/.

- [1]: https://www.buddybuild.com/
+  [1]: https://www.buddybuild.com/
diff --git a/6d603539.md b/6d603539.md
index 89e2d7a..cb487b8 100644
--- a/6d603539.md
+++ b/6d603539.md
@@ -15,7 +15,7 @@ permalink: /episodes/6d603539/

 ## 🙏 Thanks to today's sponsor: [Square](https://www.youtube.com/squaredev)

-Check out the tutorial for Square’s In-App Payments SDK for iOS on their new developer YouTube channel: [youtube.com/squaredev](https://www.youtube.com/squaredev)
+Check out the tutorial for Square’s In-App Payments SDK for iOS on their new developer YouTube channel:  [youtube.com/squaredev](https://www.youtube.com/squaredev)

 ## 👋 Get in Touch
diff --git a/6eeb2070.md b/6eeb2070.md
index f76ca37..c62688b 100644
--- a/6eeb2070.md
+++ b/6eeb2070.md
@@ -7,13 +7,13 @@ permalink: /episodes/6eeb2070/
 # 13: WWDC Predictions

 - SwiftPM iOS
- - SwiftPM Cross-Compilation: https://github.com/apple/swift-package-manager/pull/1098
+    - SwiftPM Cross-Compilation: https://github.com/apple/swift-package-manager/pull/1098
 - SwiftPM Xcode
- - Better SwiftPM/Xcode integration: https://twitter.com/SmileyKeith/status/862444840008548352
- - Potential Package.swift support in Xcode
+    - Better SwiftPM/Xcode integration: https://twitter.com/SmileyKeith/status/862444840008548352
+    - Potential Package.swift support in Xcode
 - Swift Refactoring in Xcode
- - References to "Rename" actions in SourceKit from Xcode 8.3 https://twitter.com/simjp/status/848288462952316928
- - Swift Syntax Structured Editing Library: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20170206/004066.html
+    - References to "Rename" actions in SourceKit from Xcode 8.3 https://twitter.com/simjp/status/848288462952316928
+    - Swift Syntax Structured Editing Library: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20170206/004066.html
 - Improvements to Swift Playgrounds on iPad
 - Likely improvements to Xcode Source Extensions (refactoring extensions?)
 - We’re in a quiet period leading up to WWDC
diff --git a/77984302.md b/77984302.md
index f881626..ca4d25a 100644
--- a/77984302.md
+++ b/77984302.md
@@ -9,10 +9,10 @@ permalink: /episodes/77984302/
 - Testing Swift: https://github.com/apple/swift/blob/master/docs/Testing.rst
 - Lit: LLVM Integrated Tester: http://llvm.org/docs/CommandGuide/lit.html
 - SwiftCI:
- - https://ci.swift.org
- - Announcement: https://swift.org/blog/swift-ci/
- - Overview: https://swift.org/continuous-integration/
- - Docs: https://github.com/apple/swift/blob/master/docs/ContinuousIntegration.md
+    - https://ci.swift.org
+    - Announcement: https://swift.org/blog/swift-ci/
+    - Overview: https://swift.org/continuous-integration/
+    - Docs: https://github.com/apple/swift/blob/master/docs/ContinuousIntegration.md
 - Source Compatibility: https://github.com/apple/swift-source-compat-suite
 - Smoke Testing
 - Validation Testing
diff --git a/791e3bc9.md b/791e3bc9.md
index 5f8799b..0a4d0ac 100644
--- a/791e3bc9.md
+++ b/791e3bc9.md
@@ -8,7 +8,7 @@ permalink: /episodes/791e3bc9/

 - https://swift.org/migration-guide-swift4/
 - Using two Swift Package Manager manifest files:
- - https://github.com/realm/SwiftLint/blob/0.23.0/Package.swift
- - https://github.com/realm/SwiftLint/blob/0.23.0/Package%40swift-4.swift
+  - https://github.com/realm/SwiftLint/blob/0.23.0/Package.swift
+  - https://github.com/realm/SwiftLint/blob/0.23.0/Package%40swift-4.swift

 Leave a review on iTunes and join http://spectrum.chat/specfm/swift-unwrapped
diff --git a/8279a6e2.md b/8279a6e2.md
index 7b3c6db..b0d17dd 100644
--- a/8279a6e2.md
+++ b/8279a6e2.md
@@ -13,14 +13,14 @@ We wrap up with an overview of method dispatch in Swift.
 ### SourceKit on Linux

 - Swift core team is fixing compiler crashers faster than they're filed!
- - [Slava Pestov](https://twitter.com/slava_pestov) being a driving force behind many of these fixes.
- - [@practicalswift](https://twitter.com/practicalswift) is basically Swift compiler fuzzing as-a-service ;)
- - [Undoing all of @practicalswift's hard work](https://twitter.com/slava_pestov/status/825549445605437440)
+  -  [Slava Pestov](https://twitter.com/slava_pestov) being a driving force behind many of these fixes.
+  - [@practicalswift](https://twitter.com/practicalswift) is basically Swift compiler fuzzing as-a-service ;)
+  - [Undoing all of @practicalswift's hard work](https://twitter.com/slava_pestov/status/825549445605437440)
 - [SourceKit home page](https://github.com/apple/swift/tree/master/tools/SourceKit)
 - [Process Isolation](https://github.com/apple/swift/blob/swift-3.0.2-RELEASE/tools/SourceKit/README.txt#L15-L17)
 - Key contributors to SourceKit:
- - [Brian Croom](https://twitter.com/aikoniv) and his many [SourceKit PRs](https://github.com/apple/swift/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Abriancroom%20sourcekit%20is%3Aclosed%20) to help get it linking and compiling on Linux.
- - [Alex Blewitt](https://twitter.com/alblue) and [his numerous attempts](https://github.com/apple/swift/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aalblue%20sourcekit) at getting SourceKit compiling _by default_ on Linux.
+  - [Brian Croom](https://twitter.com/aikoniv) and his many [SourceKit PRs](https://github.com/apple/swift/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Abriancroom%20sourcekit%20is%3Aclosed%20) to help get it linking and compiling on Linux.
+  - [Alex Blewitt](https://twitter.com/alblue) and [his numerous attempts](https://github.com/apple/swift/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aalblue%20sourcekit) at getting SourceKit compiling _by default_ on Linux.
 - [SR-1676: Build SourceKit on Linux](https://bugs.swift.org/browse/SR-1676)
 - [CMake homepage](https://cmake.org/)
 - [swift-corelibs-libdispatch](https://github.com/apple/swift-corelibs-libdispatch)
diff --git a/8ce32daf.md b/8ce32daf.md
index 0d2fce0..972821a 100644
--- a/8ce32daf.md
+++ b/8ce32daf.md
@@ -7,8 +7,8 @@ permalink: /episodes/8ce32daf/
 # 35: Performance Profiling on Linux

 - JP's FrenchKit talk on "Performance Profiling Swift on Linux":
- - Video: https://youtu.be/TWeLLTFjqXg
- - Slides: https://speakerdeck.com/jpsim/performance-profiling-swift-on-linux
+  - Video: https://youtu.be/TWeLLTFjqXg
+  - Slides: https://speakerdeck.com/jpsim/performance-profiling-swift-on-linux
 - [Perf](http://www.brendangregg.com/perf.html)
 - [Valgrind](http://valgrind.org/)
 - [Callgrind](http://valgrind.org/docs/manual/cl-manual.html)
diff --git a/983844da.md b/983844da.md
index 58d2e4a..e513ca8 100644
--- a/983844da.md
+++ b/983844da.md
@@ -8,8 +8,8 @@ permalink: /episodes/983844da/

 * Magic file names: https://github.com/apple/swift-evolution/blob/master/proposals/0274-magic-file.md
 * Multi-pattern catch clauses
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift-evolution/blob/master/proposals/0276-multi-pattern-catch-clauses.md
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://forums.swift.org/t/se-0276-multi-pattern-catch-clauses/32620
+    * https://github.com/apple/swift-evolution/blob/master/proposals/0276-multi-pattern-catch-clauses.md
+    * https://forums.swift.org/t/se-0276-multi-pattern-catch-clauses/32620
 * Road to Swift 6: https://forums.swift.org/t/on-the-road-to-swift-6/32862

 ## 👋 Get in Touch
diff --git a/9d6eaee7.md b/9d6eaee7.md
index bd27e9f..46afcf6 100644
--- a/9d6eaee7.md
+++ b/9d6eaee7.md
@@ -10,8 +10,8 @@ permalink: /episodes/9d6eaee7/
 * Clang-based refactoring engine: http://lists.llvm.org/pipermail/cfe-dev/2017-June/054286.html
 * Adding indexing support to Clangd: http://lists.llvm.org/pipermail/cfe-dev/2017-May/053869.html
 * Small PR demonstrating implementing a refactoring action to simplify long number literal format:
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts https://github.com/apple/swift/pull/11711
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts SR-5746: https://bugs.swift.org/browse/SR-5746
+    * https://github.com/apple/swift/pull/11711
+    * SR-5746: https://bugs.swift.org/browse/SR-5746
 * All Swift refactoring actions are defined in https://github.com/apple/swift/blob/master/include/swift/IDE/RefactoringKinds.def
 * Ideas for potential refactoring transformations: https://bugs.swift.org/issues/?jql=labels%3DStarterProposal%20AND%20labels%3DRefactoring%20AND%20resolution%3DUnresolved

diff --git a/c81902b1.md b/c81902b1.md
index 06f686b..2f33585 100644
--- a/c81902b1.md
+++ b/c81902b1.md
@@ -12,8 +12,8 @@ permalink: /episodes/c81902b1/
 * [Swift Evolution PR \#994](https://github.com/apple/swift-evolution/pull/994)
 * [swift-format implementation](https://github.com/google/swift/tree/format)
 * Community Tools
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [SwiftLint](https://github.com/realm/SwiftLint)
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [SwiftFormat](https://github.com/nicklockwood/SwiftFormat)
+  * [SwiftLint](https://github.com/realm/SwiftLint)
+  * [SwiftFormat](https://github.com/nicklockwood/SwiftFormat)

 ## Thanks to this episode's Sponsors

diff --git a/de7f2c8e.md b/de7f2c8e.md
index 0481b89..9486abe 100644
--- a/de7f2c8e.md
+++ b/de7f2c8e.md
@@ -12,9 +12,9 @@ So, we decided to make a podcast about the Swift language and a commentary on th

 If you want to connect with us you can find us and reach out on twitter: [JP Simard][2] & [Jesse Squires][3]

-Be sure to subscribe so you don't miss episode 01 - airing on Monday, March 6th and be sure to check out some of the other development shows that are a part of the [Spec Network][4].
+Be sure to subscribe so you don't miss episode 01 -  airing on Monday, March 6th and be sure to check out some of the other development shows that are a part of the [Spec Network][4].

- [1]: https://swiftweekly.github.io/
- [2]: https://twitter.com/simjp
- [3]: https://twitter.com/jesse_squires
- [4]: https://spec.fm/
+  [1]: https://swiftweekly.github.io/
+  [2]: https://twitter.com/simjp
+  [3]: https://twitter.com/jesse_squires
+  [4]: https://spec.fm/
diff --git a/e3bbe72b.md b/e3bbe72b.md
index 4dd384b..a2dacd0 100644
--- a/e3bbe72b.md
+++ b/e3bbe72b.md
@@ -9,8 +9,8 @@ permalink: /episodes/e3bbe72b/
 ## Relevant Links

 * [SE-0255: Implicit returns from single-expression functions](https://github.com/apple/swift-evolution/blob/master/proposals/0255-omit-return.md)
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [Tweet from Ben Cohen](https://twitter.com/AirspeedSwift/status/1108902065634328581)
- 01631c29.md 0168727e.md 040a84c3.md 074b618b.md 083dd5d3.md 0bd2405c.md 107053e7.md 115f3199.md 11b58ca9.md 1DMLbJg5.md 1f861221.md 1f9301c7.md 1ff40107.md 20d4b31e.md 22a6c652.md 22af29a8.md 22df931e.md 23334b91.md 23be3a4e.md 24e5304c.md 254085cb.md 259160c9.md 2b098627.md 2b182911.md 2cdb62f6.md 30f2577f.md 324c2e91.md 339bc516.md 35316396.md 3fb2a021.md 3fdcca35.md 409cbdc5.md 41e38050.md 4367aeeb.md 451cc858.md 4e7ad642.md 502c0857.md 5375fa65.md 5b33cc85.md 5ebe2061.md 60637761.md 620464c0.md 62272338.md 6d5d06fc.md 6d603539.md 6eeb2070.md 7748396d.md 77984302.md 791e3bc9.md 7e0227d3.md 8279a6e2.md 839af3db.md 852dd010.md 8ce32daf.md 8f07264c.md 901ba4e4.md 90f863bd.md 9337cd60.md 96773dee.md 96f9f099.md 983844da.md 99a0c58b.md 9d6eaee7.md DasaMAiV.md EDeUfIq2.md Gemfile Gemfile.lock LICENSE Makefile README.md _config.yml a8736bc8.md aC5JVWoo.md aef515ab.md b1715d76.md b452f159.md b850afa9.md c7b4b5ed.md c81902b1.md cef2e6bc.md d21a251a.md d4af5de6.md d6b421a4.md d725b7da.md d80e524d.md d98ccfc2.md de7f2c8e.md e3bbe72b.md e50ce5a7.md e682713a.md e6f9d8e6.md e7074e80.md f3cf9a35.md f57eb2a3.md fc6058df.md fdbc74ca.md fxMk4ipF.md img index.md scripts [Swift Foru…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants