Hi Tony,

I’m a bit confused by your answer. I am aware that some Objective-C Foundation 
and swift-corelibs-foundation classes share a common implementation through CF. 
My questions were really about the place of swift-corelibs-foundation on OS X 
and iOS. Can you help me understand?

What did you mean by "Technically, swift-corelibs-foundation is only part of 
the distribution on Linux.”?
Will swift-corelibs-foundation be part of the canonical Swift distribution on 
OS X and iOS once Swift 3 is released?
What is the name of the swift-corelibs-foundation module on OS X and iOS? 
SwiftFoundation?
What is the name of the swift-corelibs-foundation module on Linux? Foundation?
If those are different, isn’t there an incentive for having the same moule name 
on all platforms?

David.

> On 14 May 2016, at 00:44, Tony Parker <anthony.par...@apple.com> wrote:
> 
> Hi David,
> 
> Much of the implementation is indeed shared (via the CoreFoundation C code, 
> and the stuff it uses like ICU and libdispatch). Some of it is a 
> reimplementation of the same API, but in Swift.
> 
> If you write code targeting the Foundation API, then you simply ‘import 
> Foundation’. The idea here is that the implementation abstracts away the 
> platform differences including the implementation itself.
> 
> - Tony
> 
>> On May 13, 2016, at 3:34 PM, David Hart <da...@hartbit.com 
>> <mailto:da...@hartbit.com>> wrote:
>> 
>> After looking into it, I guess it would be available, but under the 
>> SwiftFoundation module. Correct? I guess that decision was made so that 
>> Swift apps in production built on Foundation don’t break when recompiled 
>> under Swift 3? Is it worth converging the names of the module so its the 
>> same on all platforms? Isn’t it bad if portable code was doomed to have #if 
>> os() for all Foundation imports? If we do rename it, do we rename it to 
>> SwiftFoundation on Linux or do we rename it to Foundation on OS X (which 
>> would require renaming the Objective-C Foundation to something else and 
>> write a migration)?
>> 
>>> On 14 May 2016, at 00:19, David Hart via swift-corelibs-dev 
>>> <swift-corelibs-dev@swift.org <mailto:swift-corelibs-dev@swift.org>> wrote:
>>> 
>>> 
>>>> On 13 May 2016, at 21:50, Tony Parker <anthony.par...@apple.com 
>>>> <mailto:anthony.par...@apple.com>> wrote:
>>>> 
>>>> Technically, swift-corelibs-foundation is only part of the distribution on 
>>>> Linux. On Darwin platforms, we use a combination of the overlay 
>>>> (stdlib/public/SDK/Foundation directory in the Swift project) and the 
>>>> Foundation.framework that ships on the OS.
>>> 
>>> I’m confused about swift-corelibs-foundation only being part of the Linux 
>>> distribution. Are you saying that when Swift 3.0 ships, import Foundation 
>>> on OS X and iOS will still import the Objective-C framework? If yes, I’m 
>>> very surprised, and I think many people will be. One of the goals of 
>>> swift-corelibs-foundation (README) says:
>>> 
>>>     • Provide a level of OS independence, to enhance portability.
>>> 
>>> How can it be portable if different platforms don’t share the same 
>>> underlying core libraries?
>>> 
>>> David.
>>> 
>>> _______________________________________________
>>> swift-corelibs-dev mailing list
>>> swift-corelibs-dev@swift.org <mailto:swift-corelibs-dev@swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev 
>>> <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