<html><body><p>Hi,<br><br>        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). <br>--dave<br><br>[1] <a href="https://github.com/dgrove-oss/swift-corelibs-libdispatch/tree/wrapping-overlay-stage-1">https://github.com/dgrove-oss/swift-corelibs-libdispatch/tree/wrapping-overlay-stage-1</a><br><br><img width="16" height="16" src="cid:1__=0ABBF54DDF1163F68f9e8a93df938690918c0AB@" border="0" alt="Inactive hide details for Joseph Bell ---06/26/2016 05:30:37 PM---David, Chris, Thanks again for the responses regarding libdis"><font color="#424282">Joseph Bell ---06/26/2016 05:30:37 PM---David, Chris, Thanks again for the responses regarding libdispatch (GCD) on Linux with</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">Joseph Bell &lt;joe@iachieved.it&gt;</font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">David P Grove/Watson/IBM@IBMUS, Chris Bailey &lt;BAILEYC@uk.ibm.com&gt;</font><br><font size="2" color="#5F5F5F">Cc:        </font><font size="2">swift-corelibs-dev@swift.org</font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">06/26/2016 05:30 PM</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">Re: [swift-corelibs-dev] libdispatch/GCD for Swift 3.0 on Linux</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><font size="4">David, Chris,</font><br><br><font size="4">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 &quot;public extension DispatchGroup&quot; 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).</font><br><br><font size="4">At any rate, thanks again for the work you're doing bringing GCD to Linux; I'm looking forward to it.</font><br><br><font size="4">Joe</font><br><br><br><font size="4">On Tue, Jun 21, 2016 at 10:24 AM, David P Grove &lt;</font><a href="mailto:groved@us.ibm.com" target="_blank"><u><font size="4" color="#0000FF">groved@us.ibm.com</font></u></a><font size="4">&gt; wrote:</font><ul><tt><font size="4">Joseph Bell &lt;</font></tt><a href="mailto:joe@iachieved.it" target="_blank"><tt><u><font size="4" color="#0000FF">joe@iachieved.it</font></u></tt></a><tt><font size="4">&gt; wrote on 06/21/2016 09:15:00 AM:</font></tt><font size="4"><br></font><tt><font size="4"><br>&gt; <br>&gt; Thanks for the details, I appreciate it.  I have seen the term <br>&gt; &quot;Swift overlay&quot; used, particularly in the context of libdispatch.  <br>&gt; What does that mean exactly in this regard (searching for it returns<br>&gt; tutorials on overlay UIViews which I doubt is appropriate here).<br>&gt; </font></tt><font size="4"><br></font><tt><font size="4"><br>Hi,</font></tt><font size="4"><br></font><tt><font size="4"><br>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.  </font></tt><font size="4"><br></font><tt><font size="4"><br>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 &quot;Swifty&quot; 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. </font></tt><font size="4"><br></font><tt><font size="4"><br>--dave</font></tt></ul><br><font size="4"><br></font><br><br><font size="4">-- </font><br><font size="4">Joseph Bell</font><br><a href="http://dev.iachieved.it/iachievedit/" target="_blank"><u><font size="4" color="#0000FF">http://dev.iachieved.it/iachievedit/</font></u></a><br><font size="4">@iachievedit</font><br><br><BR>
</body></html>