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

Alex Gordon alextgordon at gmail.com
Sat Dec 12 22:17:03 CST 2015


> 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?

It's open source! Just make a public fork on GitHub, then other people can
contribute if they desire. Discussion can take place on a separate GitHub
issues if it would be too speculative for this list (can anything be too
speculative for this list?).

The main problem right now seems to be that nobody has any clue how to even
implement it.

- Alex

On Sat, Dec 12, 2015 at 9:36 PM, David Waite via swift-evolution <
swift-evolution at swift.org> wrote:

> 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> 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),
> 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
>
>
>
> _______________________________________________
> 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/20151213/559a37af/attachment.html>


More information about the swift-evolution mailing list