Re:Async and Await in Rust: a full proposal
by arianvanp on Sunday July 15, 2018 @03:50PM
(#17536724)
This is Haskell's IO type and its do notation !
And the reordering of statements exists too. It's called ApplicativeDo[0] and is heavily used at Facebook[1]
[0] https://www.microsoft.com/en-us/research/wp-content/uploads/...
And it’ll likely pull in some nice features from academia like, building a dependency graph of async statements so it can automatically reorder async statements to get optimal concurrency.