The improvements to the Objective-C bridge in Swift 3 are definitely 
appreciated but are just cosmetics (they only affect naming). What about the 
fact that NSURL in your example, being an immutable type, would be better 
represented by a  value type in Swift? Don't misunderstand me, I applaud the 
fact that corelibs exists, and understand that Foundation has a lot of great 
ideas, but I would have preferred seeing it exist as a community hobby project 
instead of an official Swift project and have the community instead concentrate 
on a core library that embraces value types, generics, protocols, etc...

> On 04 Dec 2015, at 00:14, Tony Parker <anthony.par...@apple.com> wrote:
> 
> Hi David,
> 
> Fundamentally, we believe that the Foundation library is part of Swift. We 
> also believe that it would be a mistake to throw out the many years of 
> experience that it brings with it. In areas where there are impedance 
> mismatches between the existing API and what feels “Swifty”, we can improve 
> the API of Foundation to make it as great to use there as it is in 
> Objective-C. The first step of that is our heavy involvement with the Swift 3 
> naming guidelines here: 
> 
> https://swift.org/documentation/api-design-guidelines.html
> 
> Hope this helps,
> - Tony
> 
>> On Dec 3, 2015, at 3:09 PM, David Hart <da...@hartbit.com> wrote:
>> 
>> Hi Tony,
>> 
>> Like Jacob, I would have preferred a completely original corelibs library 
>> that uses that clean sheet to be as bold in library design as the standard 
>> library is. Why would that direction go against the goal of begin "as 
>> standards compliant as possible”? it would just mean that Apple Platform 
>> developers would have the option of using the Objective-C bridge to talk to 
>> Objective-C Foundation or use the “swifter” corelibs.
>> 
>> David.
>> 
>>>> On 03 Dec 2015, at 23:33, Tony Parker <anthony.par...@apple.com> wrote:
>>>> 
>>>> Hi Jacob,
>>>> 
>>>> On Dec 3, 2015, at 2:23 PM, Jacob Bandes-Storch <jtban...@gmail.com> wrote:
>>>> 
>>>>> On Thu, Dec 3, 2015 at 2:13 PM, Chris Lattner <clatt...@apple.com> wrote:
>>>>> 
>>>>> As others have surmised, the goal for the Swift Foundation project is to 
>>>>> provide a pure-swift implementation (which reuses widely-available C 
>>>>> libraries) of important Foundation APIs that do *not* depend on the 
>>>>> Objective-C runtime.  Reusing GNUstep, Cocotron, or even Apple’s existing 
>>>>> Foundation implementation didn’t allow us to achieve those goals, so we 
>>>>> didn’t go with those approaches.
>>>> 
>>>> This is great, but is the goal also to exactly duplicate all the 
>>>> idiosyncrasies of the Obj-C Foundation?
>>>> 
>>>> Quiz: what's the result of NSURL(string: 
>>>> "http://one/two;three/four";)?.URLByAppendingPathComponent("five") ?
>>>> 
>>>> If, as I would hope, corelibs-foundation is an opportunity to make simpler 
>>>> APIs that resolve some of these weirdnesses, then should the class names 
>>>> (NSURL, NSFileHandle, etc.) really be the same?
>>>> 
>>>>  _______________________________________________
>>>> swift-corelibs-dev mailing list
>>>> swift-corelibs-dev@swift.org
>>>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
>>> 
>>> I think NSURL is actually a pretty great example of an API that we want to 
>>> be the same on all platforms. There is quite a bit of logic backing it 
>>> (along with something like NSURLComponents). Check out some of it here:
>>> 
>>> https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents_URIParser.c
>>> 
>>> (and that CF code is reflected up into NSURLComponents)
>>> 
>>> 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.
>>> 
>>> So if you find some of the interface confusing (or wrong), then file a bug 
>>> for us at bugs.swift.org. We can take this opportunity to try to make it 
>>> better for everyone.
>>> 
>>> Thanks,
>>> - Tony
>>> 
>>> 
>>> 
>>>  _______________________________________________
>>> swift-corelibs-dev mailing list
>>> swift-corelibs-dev@swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
> 
_______________________________________________
swift-corelibs-dev mailing list
swift-corelibs-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev

Reply via email to