[swift-corelibs-dev] libdispatch/GCD for Swift 3.0 on Linux
David P Grove
groved at us.ibm.com
Sun Jun 26 18:52:34 CDT 2016
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 <joe at iachieved.it>
To: David P Grove/Watson/IBM at IBMUS, Chris Bailey
<BAILEYC at uk.ibm.com>
Cc: swift-corelibs-dev at 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 <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/96f3b687/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20160626/96f3b687/attachment.gif>
More information about the swift-corelibs-dev
mailing list