[swift-evolution] Proposal: Add generator functions to the language

David Waite david at alkaline-solutions.com
Sat Dec 12 15:36:29 CST 2015


I proposed it because 
- Only a few named language features (like Concurrency) were explicit non-goals
- Its a feature I’m willing to try to implement (although I would probably want to work on several smaller changes to get up to speed first on SIL and the codebase)

Is there a possibility for larger features like this or macros to be done in parallel with the 2.2/3.0 development effort? Or perhaps a desire to have this sort of working group approach (similar to C++’s Technical Subcommittees), but not until 3.0 is released?

-DW

> On Dec 12, 2015, at 1:35 PM, Douglas Gregor via swift-evolution <swift-evolution at swift.org> wrote:
> 
> 
>> On Dec 11, 2015, at 10:48 PM, Kevin Ballard via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> I'd love to have first-class support for generators like this, but it's a lot of work. It's a lot easier to do this sort of thing in a scripting language like Python than it is to do in a language like Swift, because it requires reifying the stack into a data structure that can be passed around. And I suspect there's a lot of non-trivial questions that have to get answered before you can even propose an implementation for this.
>>  
>> For context, this sort of thing is something that people have been talking about doing in Rust for quite a while, and it keeps getting punted because of the amount of work and the unanswered questions about how it would actually be implemented.
>>  
>> So I'll give this a general +1, but I think it should also be deferred until after Swift 3 at the earliest.
> 
> Right. This is a major add-on feature that doesn’t fit in with the stated goals for Swift 3 (README of https://github.com/apple/swift-evolution <https://github.com/apple/swift-evolution>), so I think we should proactively defer it.
> 
> 	- Doug
> 
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

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


More information about the swift-evolution mailing list