Hi, I've been making some progress on the Swift 3 overlay for dispatch on a branch [1]. It builds, but doesn't do much more beyond that yet. I expect to raise a pull request within a week (once basic programs are working). --dave
[1] https://github.com/dgrove-oss/swift-corelibs-libdispatch/tree/wrapping-overlay-stage-1 From: Joseph Bell <j...@iachieved.it> To: David P Grove/Watson/IBM@IBMUS, Chris Bailey <bail...@uk.ibm.com> Cc: swift-corelibs-dev@swift.org Date: 06/26/2016 05:30 PM Subject: Re: [swift-corelibs-dev] libdispatch/GCD for Swift 3.0 on Linux David, Chris, Thanks again for the responses regarding libdispatch (GCD) on Linux with Swift 3.0. I took a stab at building what was there and indeed, I see there are missing components to the overlay. For example, I see where Dispatch.swift contains things like "public extension DispatchGroup" but there is no actual DispatchGroup defined anywhere (just extensions to it). The same goes for DispatchSemaphore, DispatchQueue, DispatchWorkItem, etc. Unless I am offbase and that is defined (I certainly couldn't find it). At any rate, thanks again for the work you're doing bringing GCD to Linux; I'm looking forward to it. Joe On Tue, Jun 21, 2016 at 10:24 AM, David P Grove <gro...@us.ibm.com> wrote: Joseph Bell <j...@iachieved.it> wrote on 06/21/2016 09:15:00 AM: > > Thanks for the details, I appreciate it. I have seen the term > "Swift overlay" used, particularly in the context of libdispatch. > What does that mean exactly in this regard (searching for it returns > tutorials on overlay UIViews which I doubt is appropriate here). > Hi, There's a layer of Swift code that sits on top of the non-Swift implementation of libdispatch to provide the Swift-level API for the library. This is called the overlay. In Swift 2, the overlay for libdispatch was relatively thin. In Swift 3 it became thicker and on Darwin platforms more reliant on compiler support for importing Objective-C API declarations in a "Swifty" way. The main work item for getting the libdispatch Swift 3 APIs on Linux is to compensate for the lack of Objective-C by manually writing a layer (in Swift) that sits between the basic C-level APIs libdispatch provides on Linux and the desired user-visible Swift-3 APIs. --dave -- Joseph Bell http://dev.iachieved.it/iachievedit/ @iachievedit
_______________________________________________ swift-corelibs-dev mailing list swift-corelibs-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-corelibs-dev