<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="" applecontenteditable="true">Hi Charles,<div class=""><br class=""></div><div class="">Have you happened to file a radar for Foundation that I can look up (for both this and process)?</div><div class=""><br class=""></div><div class="">We are working hard on making sure that our API is right for Swift, and areas like this where we can make fairly trivial improvements are things that we can try to prioritize. As you say, the purpose of swift-corelibs-foundation is to present a unified API and prevent the need to fork. That means the best possible solution is to improve the API in Objective-C (where exceptions-as-control flow is wrong too) first, and then naturally flow that into Swift.</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">- Tony</div><div class=""><br class=""></div><div class=""><div><blockquote type="cite" class=""><div class="">On Feb 14, 2017, at 12:46 PM, Charles Srstka &lt;<a href="mailto:cocoadev@charlessoft.com" class="">cocoadev@charlessoft.com</a>&gt; 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=""><blockquote type="cite" class="">On Feb 14, 2017, at 1:05 PM, Tony Parker &lt;<a href="mailto:anthony.parker@apple.com" class="">anthony.parker@apple.com</a>&gt; wrote:<br class=""></blockquote><div class=""><blockquote type="cite" class=""><br class="Apple-interchange-newline"><div class=""><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Hi Charles,</div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">For both this and the Process proposal - why would we not just improve the API on the existing types instead of renaming them?</div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">- Tony</div></div></blockquote></div><br class=""><div class="">1) The Objective-C Foundation isn’t open source. It’s now 14 years since the introduction of NSError, and those types still throw exceptions when they hit runtime errors, despite the community consistently complaining about this during the intervening decade and a half. I just don’t think it’s going to happen. Those of us that asked for the change have mostly given up and resigned ourselves to either writing our own file handle classes or using exception handling for these things years ago (I would presume the problem is backwards compatibility; there might be some legacy code out there that depends on the exceptions being thrown, and that might prevent the change—an issue that doesn’t exist for Swift code, since it can’t catch exceptions). The Swift solution would start from code which is open-source, meaning that implementation could be done by the community, without depending on the Foundation team.</div><div class=""><br class=""></div><div class="">2) For any changes that are made to the API for the Objective-C types, the same changes will have to be made to the corelibs types anyway for cross-platform source compatibility. Presumably, the unimplemented parts in corelibs are going to need to be implemented as well in order for that project to be complete. So why not kill two birds with one stone?</div><div class=""><br class=""></div><div class="">Charles</div><div class=""><br class=""></div></div></div></blockquote></div><br class=""></div></body></html>