<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 "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).</div><div><br></div><div>At any rate, thanks again for the work you're doing bringing GCD to Linux; I'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"><<a href="mailto:groved@us.ibm.com" target="_blank">groved@us.ibm.com</a>></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 <<a href="mailto:joe@iachieved.it" target="_blank">joe@iachieved.it</a>> wrote on 06/21/2016 09:15:00 AM:<br></tt><br><tt>> <br>> Thanks for the details, I appreciate it. I have seen the term <br>> "Swift overlay" used, particularly in the context of libdispatch. <br>> What does that mean exactly in this regard (searching for it returns<br>> tutorials on overlay UIViews which I doubt is appropriate here).</tt><br><tt>> <br></tt><br></span><tt>Hi,</tt><br><br><tt> 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. </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 "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. </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>