<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 3, 2015, at 2:37 PM, Jacob Bandes-Storch <<a href="mailto:jtbandes@gmail.com" class="">jtbandes@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote">Thanks, Tony.</div><div class="gmail_quote"><br class=""></div><div class="gmail_quote">On Thu, Dec 3, 2015 at 2:33 PM, Tony Parker <span dir="ltr" class=""><<a href="mailto:anthony.parker@apple.com" target="_blank" class="">anthony.parker@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class="">It’s tricky stuff, and the goal is to get it as standards compliant as possible. If we use this implementation for all Swift clients then we can get a consistent answer everywhere - and even better, fix bugs everywhere at the same time.<br class=""></div></div></blockquote><div class=""><br class=""></div><div class="">Agreed. I look forward to it :) I'm just concerned that users will expect behavior to exactly match their equivalent Obj-C code. If these bugs are fixed / APIs are refined in corelibs-foundation, that expectation might be broken.</div></div></div></div></div></blockquote><div><br class=""></div>Indeed, a very good point and something we are actively thinking about.</div><div><br class=""></div><div>An important goal of our project is to provide a layer of OS independence and portability. There may be times when we have a bug in the Obj-C implementation that we therefore decide to reflect in the Swift implementation as well, because the inconsistency would otherwise be a problem. Hopefully this doesn’t happen too often. I’d rather fix the bug in the Obj-C implementation as well, but there are always going to be tradeoffs to make.</div><div><br class=""></div><div>We have lots of experience making changes to Foundation underneath apps and keeping things compatible. I think we’ll certainly be using some of that as we move forward with the Swift Foundation implementation as well. For example, we may choose to deprecate a confusing (or wrong) API and replace it with something better. We’d like the bar for changing API to be very high, though, so that we can provide as much stability to clients as possible.</div><div><br class=""></div><div>Thanks,</div><div>- Tony</div><div><br class=""></div><div><br class=""></div><div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class=""></div><div class="">So if you find some of the interface confusing (or wrong), then file a bug for us at <a href="http://bugs.swift.org/" target="_blank" class="">bugs.swift.org</a>. We can take this opportunity to try to make it better for everyone.<br class=""></div></div></blockquote><div class=""><br class=""></div><div class="">Will do!</div></div></div></div>
</div></blockquote></div><br class=""></body></html>