coroutines_ts_v1_experience
coroutines_ts_v1_experience copied to clipboard
Infomation about C++ Coroutines TS v1 software and content
The C++ Coroutines TS v1, ISO/IEC TS 22277, was published on 12-05-2017.
Implementations
Two major C++ implementations have had support for the TS for over a year:
- MSVC (since version 2015 SP2 in 2016).
- LLVM (since version 5 in 2017).
- EDG frontend (since 2015).
Libraries
In addition to implementation experience, the Coroutines TS v1 has seen a lot of usage experience:
Coroutines TS v1 libraries:
Libraries with Coroutines TS v1 support:
- HPX (details)
- Folly (details 0) (details 1) (details 2)
- Ranges v3 (details)
- RxCpp (details)
- Just::Thread Pro
Coroutine TS v1 emulation layers:
Coroutines TS v1 examples and demos:
- mditerator (Bryce Adelstein Lelbach)
- await (Kirk Shoop)
- coroutine_monad (Toby Allsopp)
- coroutine_func (Toby Allsopp)
Writing
A number of blog posts have been written about the Coroutines TS v1:
- Ranges, Coroutines, and React: Early Musings on the Future of Async in C++ (Eric Niebler)
- My First Coroutine (Kiit Saelensminde)
- Coroutine Theory (Lewis Baker)
- C++ Coroutines: Understanding operator co_await (Lewis Baker)
Talks
Many talks have been given at major C++ conferences about the Coroutines TS v1:
- await 2.0: Stackless Resumable Functions (Gor Nishanov, CppCon 2014)
- Coroutines for App and Library Developers (Gor Nishanov, C++Now 2015)
- C++ Coroutines: A Negative Overhead Abstraction (Gor Nishanov, CppCon 2015)
- An Introduction to C++ Coroutines (James McNellis, Meeting C++ 2015)
- Asynchrony and Coroutines (Grigory Demchenko, Meeting C++ 2015)
- An Introduction to C++ Coroutines (James McNellis, Italian C++ Conference 2016)
- An Introduction to C++ Coroutines (James McNellis, CppCon 2016)
- C++ Coroutines: Under the Covers (Gor Nishanov, CppCon 2016)
- Putting Coroutines to Work With the Windows Runtime (Kenny Kerr and James McNellis, CppCon 2016)
- Coroutines and C++ DSLs for Human Scale Concurrency (Dominic Robinson, ACCU 2017)
- Multidimensional Iterators Bryce Adelstein Lelbach, C++Now 2017)
- An Introduction to the Proposed Coroutine Support for C++ (Toby Allsopp, Pacific++ 2017)
- Concurrency, Parallelism and Coroutines (Anthony Williams, CppCon 2017)
- Coroutines: What Can't They Do? (Toby Allsopp, CppCon 2017)
- Naked Coroutines Live (Gor Nishanov, CppCon 2017)