<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 12, 2015, at 12:35 PM, Douglas Gregor via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Dec 11, 2015, at 10:48 PM, Kevin Ballard via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class="">


<title class=""></title>

<div class=""><div class="">I'd love to have first-class support for generators like this, but it's a&nbsp;<i class="">lot</i> 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.<br class=""></div>
<div class="">&nbsp;</div>
<div class="">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.<br class=""></div>
<div class="">&nbsp;</div>
<div class="">So I'll give this a general +1, but I think it should also be deferred until after Swift 3 at the earliest.</div>
</div></div></blockquote><div class=""><br class=""></div><div class="">Right. This is a major add-on feature that doesn’t fit in with the stated goals for Swift 3 (README of&nbsp;<a href="https://github.com/apple/swift-evolution" class="">https://github.com/apple/swift-evolution</a>), so I think we should proactively defer it.</div></div></div></div></blockquote><br class=""></div><div>I agree with both of you. &nbsp;I’m very interested in this, but it is clearly out of scope for Swift 3. &nbsp;It should also be considered alongside whatever async/concurrency approach we tackle (likely in swift 4).</div><div><br class=""></div><div>-Chris</div><br class=""></body></html>