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>