SE-0296: async/await

Sure, I stubbed out some wording here: [SE-0296] Add Alternative Considered for async/await as Futures sugar · DougGregor/swift-evolution@0c1d578 · GitHub

Yes, we had considered it. It's not a good match for Swift. I've now documented why it in Alternatives Considered for posterity.

There is no way for authors to predict what people in a review will think is an idea that "must" be considered as an alternative or else the proposal is incomplete. That's what discussion is for, and some things that come up in discussion get promoted to "Alternatives Considered."

Doug

11 Likes

Part of the reason that Result was kept out of the standard library so long is because it's duplicative of throws, which causes confusion. Result was also primarily motivated by asynchronous code patterns that we knew could be subsumed by an async analogue to throws in time. But we also knew that "in time" was going to be several years, and having numerous Result re-implementations in the ecosystem.

async/await may only have come up for formal review two weeks ago, but this approach to solving the problem has been around in the Swift community for ~4 years.

Doug

4 Likes

But there is a way for the authors to list the alternatives they actually did consider.

I still have not seen a response to this. Perhaps I missed it?

suspend is a little long. Maybe we could shorten it to sus...

I’ll see myself out...

4 Likes

The review period has now ended and the proposal has been accepted.

Thanks to everyone who participated!

6 Likes