You are absolutely right about the history (Conway coined the term in '63!).
The assembly stack-switching you mentioned is the classic "Stackful" approach (like Fibers or Boost.Context). C++20 went the "Stackless" route (compiler-generated state machines) to avoid the per-stack memory overhead, though it certainly makes the implementation mechanics trickier.
Lua is definitely a gold standard for asymmetric coroutines.
As for Felix—I actually wasn't familiar with it until you mentioned it. Thanks for the pointer! I'll definitely dig into their docs to see how they handle scheduling compared to the C++20 approach.
srean|13 days ago
Also, do you use ChatGPT to frame your responses ? Nothing wrong if you do, but people might notice the tone and wonder.
lixiasky|13 days ago