[swift-evolution] Proposal: Swift Open Source Project and Foundation replacements

Gregory Casamento greg.casamento at gmail.com
Thu Dec 3 14:01:52 CST 2015


Way ahead of you
On Thu, Dec 3, 2015 at 15:01 Maxthon Chan <xcvista at me.com> wrote:

> Dear Swift developers:
>
> Maybe you have never heard of it, but there have been several ongoing
> efforts, like GNUstep and Cocotron, at maintaining an open source
> Foundation reimplementation for alternative operating systems like Linux.
> It seemed to me that the current release of Swift did not put such efforts
> into consideration and brutally broke compatibility between Swift and
> Objective-C on Linux. I understand the fact that Apple is unwilling to
> release source code of Foundation, and this is usually where those
> alternative implementations comes into play.
>
> Some of such projects, like GNUstep, are mature enough to allow existing
> AppKit applications written in Objective-C, like TextEdit and Chess, to be
> ported from OS X to Linux and Windows without changing too much, if any,
> code, taking all modern Objective-C features like ARC and object
> subscripting with stride, with a compatible version of LLVM compiler.
> Meanwhile, with the current version of Swift, even if the Swift code is
> written with calls to Objective-C runtime assuming the case on OS X, it is
> broken under Linux even with libobjc linked in.
>
> I am here suggesting keeping the Objective-C bridge intact at least when
> built with a compatible version of libobjc (and GNUstep project have one
> already.) This will allow users of such alternative Foundation
> reimplementations to use their favourite Foundation distribution in place
> of the version provided by the Swift project, retaining the code
> compatibility already established between OS X and Linux by those Swift
> reimplementations.
>
> In such an environment the alternative Foundation implementation will
> provide their own version of CoreFoundation and Foundation, implemented
> using C and Objective-C, as well as a libobjc that supports ARC. The Swift
> environment would be built without its own CoreFoundation and Foundation,
> but linking against the provided version instead, bridging calls just like
> OS X version of Swift does. This will also allow the new Swift platform to
> take full advantage of the AppKit came with the alternative Foundation,
> allow porting full OS X apps to Linux a lot easier. The above also applies
> for porting iOS apps, if the alternative Foundation implementation also
> comes with their own UIKit.
>
> Max_______________________________________________
> Gnustep-dev mailing list
> Gnustep-dev at gnu.org
> https://lists.gnu.org/mailman/listinfo/gnustep-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151203/d4d00658/attachment-0001.html>


More information about the swift-evolution mailing list