<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="">Both GNUstep and Cocotron have already achieved this “OS independence and portability” better than you think, on a wider variety of platforms - Linux as well as Windows and FreeBSD. So if you open up the Objective-C compatibility layer and leave the Foundation to them you may have even better OS independence.<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 4, 2015, at 06:46, Tony Parker <<a href="mailto:anthony.parker@apple.com" class="">anthony.parker@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div class=""><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 class=""><br class=""></div>Indeed, a very good point and something we are actively thinking about.</div><div class=""><br class=""></div><div class="">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 class=""><br class=""></div><div class="">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 class=""><br class=""></div><div class="">Thanks,</div><div class="">- Tony</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><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="">
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=37YQSuyAAkYNrBa3dpH9qDpUgsK5HjxP-2FMC9l5Ar7fPI0nfg08PHuDUNdWelXmTwKHWiEdVCPONxPaDpWwIVaiUKeFPgTWOksLAWe0xU7sVx1tTw6UWNv7i-2FE3L35JXw7WQMZnyXFL9fheD3kPnfVQBC3oP8MsfbFs2At-2Bmu6YdsPwA018lLfCZ6cyMVpTh1n4CgmIM-2Ff2flHqOjkteGXA-3D-3D" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;" class="">
</div>
_______________________________________________<br class="">swift-corelibs-dev mailing list<br class=""><a href="mailto:swift-corelibs-dev@swift.org" class="">swift-corelibs-dev@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-corelibs-dev<br class=""></div></blockquote></div><br class=""></div></body></html>