> On May 13, 2016, at 4:13 PM, David Hart <da...@hartbit.com> wrote: > > 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.”?
On Darwin we will use the system framework. It is (clearly) far more mature than the swift-corelibs-foundation implementation. Over time it’s not clear how the two will evolve, but we want them to evolve together from an API point of view at least. > Will swift-corelibs-foundation be part of the canonical Swift distribution on > OS X and iOS once Swift 3 is released? No. Only on Linux or other non-Darwin platforms. > What is the name of the swift-corelibs-foundation module on OS X and iOS? > SwiftFoundation? SwiftFoundation, and it is named this way specifically to avoid conflict with the system Foundation. > What is the name of the swift-corelibs-foundation module on Linux? Foundation? Foundation > If those are different, isn’t there an incentive for having the same moule > name on all platforms? > > David. > The system Foundation.framework on Darwin and swift-corelibs-foundation on Linux are both called “Foundation”. Hope that clears this up. - Tony >> On 14 May 2016, at 00:44, Tony Parker <anthony.par...@apple.com >> <mailto: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