[swift-corelibs-dev] libdispatch/GCD for Swift 3.0 on Linux

Joseph Bell joe at iachieved.it
Sun Jun 26 16:30:31 CDT 2016


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 <groved at us.ibm.com> wrote:

> Joseph Bell <joe at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20160626/b3e15a15/attachment.html>


More information about the swift-corelibs-dev mailing list