<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div style="font-family:Arial;">Itai and co:<br></div>
<div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;">This is a solid improvement.<br></div>
<div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;">I think it's appropriate to diminish the importance of non-keyed containers. "Nonkeyed" as the name is pretty iffy to me, though, even though I admit it makes the use case pretty clear. "Ordered" or "Sequential" both sound fine, even for an encoder that's slot-based instead of  NSArchiver-like model. An array is ordered but you don't have to traverse it in order.<br></div>
<div style="font-family:Arial;"><br></div>
<div id="sig40804545"><div class="signature"><span class="font" style="font-family:arial, sans-serif, sans-serif">Best,</span><span class="font" style="font-family:arial, sans-serif, sans-serif"></span><br></div>
<div class="signature"><span class="font" style="font-family:arial, sans-serif, sans-serif">&nbsp; Zachary Waldowski</span><span class="font" style="font-family:arial, sans-serif, sans-serif"></span><br></div>
<div class="signature"><span class="font" style="font-family:arial, sans-serif, sans-serif">&nbsp;&nbsp;</span><a href="mailto:zach@waldowski.me"><span class="font" style="font-family:arial, sans-serif, sans-serif">zach@waldowski.me</span></a><br></div>
</div>
<div><br></div>
<div><br></div>
<div>On Mon, Apr 3, 2017, at 04:31 PM, Itai Ferber via swift-evolution wrote:<br></div>
<blockquote type="cite"><div><div style="font-family:sans-serif;"><div style="white-space:normal;"><p style=""><span class="size" style="font-size:14px">Hi everyone,</span><br></p><p style=""><span class="size" style="font-size:14px">With feedback from swift-evolution and additional internal review, we've pushed updates to this proposal, and to the <a href="https://github.com/apple/swift-evolution/pull/640" style="color:rgb(57, 131, 196);">Swift Encoders</a> proposal.<br> In the interest of not blowing up mail clients with the full HTML again, I'll simply be linking to the <a href="https://github.com/apple/swift-evolution/pull/639" style="color:rgb(57, 131, 196);">swift-evolution PR here</a>, as well as the <a href="https://github.com/apple/swift-evolution/pull/639/commits/d619eef9166f8b45ffac152d06376cbdab536241" style="color:rgb(57, 131, 196);">specific diff</a> of what's changed.</span></p><p style=""><span class="size" style="font-size:14px">At a high level:</span><br></p><ul style="font-size:14px;"><li>The <code style="background-color:rgb(247, 247, 247);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0.4em;padding-bottom:0px;padding-left:0.4em;" bgcolor="#F7F7F7">Codable</code> protocol has been split up into <code style="background-color:rgb(247, 247, 247);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0.4em;padding-bottom:0px;padding-left:0.4em;" bgcolor="#F7F7F7">Encodable</code> and <code style="background-color:rgb(247, 247, 247);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0.4em;padding-bottom:0px;padding-left:0.4em;" bgcolor="#F7F7F7">Decodable</code><br></li><li>String keys on <code style="background-color:rgb(247, 247, 247);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0.4em;padding-bottom:0px;padding-left:0.4em;" bgcolor="#F7F7F7">CodingKey</code> are no longer optional<br></li><li><code style="background-color:rgb(247, 247, 247);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0.4em;padding-bottom:0px;padding-left:0.4em;" bgcolor="#F7F7F7">KeyedEncodingContainer</code> has become <code style="background-color:rgb(247, 247, 247);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0.4em;padding-bottom:0px;padding-left:0.4em;" bgcolor="#F7F7F7">KeyedEncodingContainerProtocol</code>, with a concrete type-erased <code style="background-color:rgb(247, 247, 247);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0.4em;padding-bottom:0px;padding-left:0.4em;" bgcolor="#F7F7F7">KeyedEncodingContainer</code> struct to hold it<br></li><li>Array responsibilities have been removed from <code style="background-color:rgb(247, 247, 247);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0.4em;padding-bottom:0px;padding-left:0.4em;" bgcolor="#F7F7F7">KeyedEncodingContainer</code>, and have been added to a new <code style="background-color:rgb(247, 247, 247);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0.4em;padding-bottom:0px;padding-left:0.4em;" bgcolor="#F7F7F7">UnkeyedEncodingContainer</code> type<br></li><li><code style="background-color:rgb(247, 247, 247);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0.4em;padding-bottom:0px;padding-left:0.4em;" bgcolor="#F7F7F7">codingKeyContext</code> has been renamed <code style="background-color:rgb(247, 247, 247);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0.4em;padding-bottom:0px;padding-left:0.4em;" bgcolor="#F7F7F7">codingPath</code><br></li></ul><p style=""><span class="size" style="font-size:14px">There are some specific changes inline — I know it might be a bit of a pain, but let's keep discussion here on the mailing list instead of on GitHub.<br> We'll be looking to start the official review process very soon, so we're interested in any additional feedback.</span></p><p style=""><span class="size" style="font-size:14px">Thanks!</span><br></p><p style=""><span class="size" style="font-size:14px">— Itai</span><br></p></div>
</div>
</div>
<div><u>_______________________________________________</u><br></div>
<div>swift-evolution mailing list<br></div>
<div><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br></div>
<div><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></div>
</blockquote><div style="font-family:Arial;"><br></div>
</body>
</html>