http://www.perlmonks.org?node_id=96262


in reply to Perl 6 coroutines (RFC 31)

My understanding is that co-routines are called co-routines because they are meant to be called from within another closely related routine, and they pass control back and forth between each other.

If you want to get to know them better, I would recommend playing around with a language that has them. The two most obvious ones are Scheme and Ruby. You might also find the paper Coroutines in C interesting (thanks to japhy for mentioning it once). It discusses an actual problem which coroutines would be a natural fit for, and then proceeds to show how you can mimic them in C. (The program that paper is about, PuTTY, is fairly widely used. If you are on Windows and occasionally need to telnet, or would prefer to ssh instead of telnet, then I strongly recommend looking into it.)