<div dir="ltr">David, Chris,<div><br></div><div>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&#39;t find it).</div><div><br></div><div>At any rate, thanks again for the work you&#39;re doing bringing GCD to Linux; I&#39;m looking forward to it.</div><div><br></div><div>Joe</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 21, 2016 at 10:24 AM, David P Grove <span dir="ltr">&lt;<a href="mailto:groved@us.ibm.com" target="_blank">groved@us.ibm.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><p><span class=""><tt>Joseph Bell &lt;<a href="mailto:joe@iachieved.it" target="_blank">joe@iachieved.it</a>&gt; wrote on 06/21/2016 09:15:00 AM:<br></tt><br><tt>&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).</tt><br><tt>&gt; <br></tt><br></span><tt>Hi,</tt><br><br><tt>        There&#39;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.  </tt><br><br><tt>        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. </tt><br><br><tt>--dave</tt><br>
</p></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">Joseph Bell<br><div><a href="http://dev.iachieved.it/iachievedit/" target="_blank">http://dev.iachieved.it/iachievedit/</a></div><div>@iachievedit</div></div></div></div></div>
</div>