Hi Max,

>  Apple has released Swift for Linux amd64 and Windows. Can we piggyback on 
> that? 

The Objective-C interoperability layer of the Swift programming language 
depends on the internal Apple Objective-C runtime and is therefore not 
available on Linux and Windows. It is possible to implement the private runtime 
APIs needed to get interop working but considering that Windows is not a stable 
libobjc2 target it makes more sense to stabilise our runtime before adding new 
features.

Another issue is the implementation of the Swift block runtime that conflicts 
with the libobjc2 block runtime. This is easily fixed by not exporting the 
headers.

Here are some issues that mention the private APIs:

Block.h of libobjc2 conflicts with Block.h from libdispatch (and Swift) #199
https://github.com/gnustep/libobjc2/issues/199 
<https://github.com/gnustep/libobjc2/issues/199>

Add objc_alloc and objc_allocWithZone #169
https://github.com/gnustep/libobjc2/issues/169 
<https://github.com/gnustep/libobjc2/issues/169>

objc_direct methods #165
https://github.com/gnustep/libobjc2/issues/165 
<https://github.com/gnustep/libobjc2/issues/165>

objc_constructInstance and objc_destructInstance are unimplemented #121
https://github.com/gnustep/libobjc2/issues/121 
<https://github.com/gnustep/libobjc2/issues/121>

Method signature differences vs. Apple runtime #122
https://github.com/gnustep/libobjc2/issues/122 
<https://github.com/gnustep/libobjc2/issues/122>

Reply via email to