[swift-evolution] Pitch: Progress Tracking in Swift

Félix Cloutier felixcca at yahoo.ca
Mon Jan 18 22:34:17 CST 2016


> Le 18 janv. 2016 à 22:39:19, cocoadev at charlessoft.com a écrit :
> 
> On 2016-01-18 22:24, Félix Cloutier wrote:
>> In terms of which functions need it, I think that reporting progress
>> is a relatively niche feature.
> 
> How is it niche? Very few apps don't have any places where progress tracking (and user cancellation) would be useful, and it's currently something that has to be done with workarounds that are either clunky or unsafe.

It's niche in that even if most applications will have functions that use it, most functions don't need it.

>> I would by far prefer that we work on
>> infrastructure to implement a library-driven solution. To me, it would
>> be a missed opportunity to show off what the language can (will be
>> able to) do without having to bake it into the compiler.
>> For instance, this could probably be solved without specific compiler
>> support if Swift had a macro system and resumable functions.
> 
> Apple has repeatedly stated in the past that the lack of macros/a preprocessor is supposed to be a feature, not a bug (cf. https://developer.apple.com/swift/blog/?id=4). I know there have occasionally been some statements on the lists contradicting the official stance, but nonetheless I'm not sure we can count on Swift gaining a macro system. Also, implementing things like this via macros seems a bit... icky to my personal tastes.
> 
> Are there any plans to add resumable functions to Swift? I know it's been pitched a few times, but it didn't seem to me like it gained much traction.

As far as I can tell, support for the feature is positive; except that the core team said "not yet <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151221/004158.html>". I, for sure, will be on the yes side when we get there.

For the macro system, I'm talking about a system that lets you modify Swift code at compile-time. An example system would be to allow Swift code to modify an AST. I'm absolutely not an expert in this domain, I hope a LISPy person will write a proposal about it!

>> Also, the first two arguments have merit, but it's highly improbable
>> that you'll be able to use whatever solution we come up with in OSes
>> older than OS X 10.11 or iOS 9 anyway.
> 
> All additions to Swift so far have been back-portable to 10.9, given that the runtime gets bundled into the app.

I'm not at Apple, but my gut feeling is that it won't be possible for much longer, given that Swift 3 should stabilize the ABI and make bundling unnecessary.

Félix

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160118/27c7f05a/attachment.html>


More information about the swift-evolution mailing list