
On Mon, Jan 9, 2012 at 12:58 AM, Robert Ramey <ramey@rrsd.com> wrote:
I've been very pleased with your coroutine library for some time. I liked the complete documentation. I aways wondered why it wasn't reviewed and accepted into boost.
Well, I wasn't actually completely pleased with the documentation. A real reference section was missing for example. I also always wanted to tweak the implementation. Then life happened, I got a job and since then never had enough time to commit to matain it to boost standards. [...]
I looked over the documentation of this library. My question is: what is the relationship between this library and your coroutine library. Would this be a lower level component of the coroutine library.
Definitely yes. I would say that boost.context contains the equivaleent of about 90% of boost.coroutine (and more). The rest is mostly sintactic sugar which can be easily implemented in C++11 with variadic templates. Note that Boost.Context has a much more comprehensive set of backends: while Boost.Coroutine only had a Linux x86 asm backend and relied on fibers or makecontext for portability, Boost.Context has a much much larger number of native implementations.
What are the future plans for the coroutine library - if any. I had presumed you just lost interest in persuing a boost revew and just dropped of the map, Now I see you're handling the review for this component. Is there any back story here?
No real back story. While I couldn't give enough time for the Coroutine library, I was naturally interested in Boost.Context. If Boost.Context were to be accepted I might try to get Oliver to accept patches to add the missing parts. If you want that to happens, a review of Boost.Context would be very wellcome :) I'll leave Oliver to answer the rest of the questions. -- gpd