[swift-evolution] Coroutine for Swift

Andrew Bennett cacoyi at gmail.com
Tue Dec 22 01:33:59 CST 2015


Great proposal! I'm all for this, I think your proposed implementation is
pretty good too.

It would be interesting to expand the proposal to consider more cases in
more detail:
 * Concurrency
 * SequenceType versus GeneratorType
 * Should a language feature depend on the Standard Library
(GeneratorType)? Alternatives:
     + func myFunction -> () -> T?
     + func myFunction -> () -> (myFunction_State, myFunction_State -> T?)
 * What happens if you write: guard ... else { yield ... }
 * Use an enum for the state that encapsulates all possible variables in
each state

If you're not familiar with it, there's another thread that discussed
similar here:
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151207/001872.html

In particular you may be interested in Chris Lattner's comment:

I’m very interested in this, but it is clearly out of scope for Swift 3. It
should also be considered alongside whatever async/concurrency approach we
tackle (likely in swift 4).


Either way it's worth discussing and working towards :)

On Tue, Dec 22, 2015 at 6:03 PM, Félix Cloutier <swift-evolution at swift.org>
wrote:

> There's probably some additional work to do on the proposal document, but
> I would like to see coroutines in Swift too. The feature has been very
> successful in other languages like Python and C#, and unless I'm mistaken,
> work is being done to standardize it in C++.
>
> Generators are one use case, but resumable functions in general can also
> be used to make async code look prettier.
>
> Félix
>
> Le 22 déc. 2015 à 01:47:05, Susan Cheng via swift-evolution <
> swift-evolution at swift.org> a écrit :
>
> here is my proposal for swift lang
>
>
> https://github.com/SusanDoggie/swift-evolution/blob/master/proposals/0018-coroutine-for-swift.md
> _______________________________________________
> 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/20151222/a0bd9039/attachment.html>


More information about the swift-evolution mailing list