On Fri, Sep 25, 2009 at 11:42 AM, Grant Edwards <inva...@invalid.invalid> wrote:
> On 2009-09-25, Piet van Oostrum <p...@cs.uu.nl> wrote:
>>>>>>> exar...@twistedmatrix.com (e) wrote:
>>
>>>e> I specifically left out all "yield" statements in my version, since that's
>>>e> exactly the point here. :)  With "real" coroutines, they're not necessary 
>>>-
>>>e> coroutine calls look just like any other call.  With Python's enhanced
>>>e> generators, they are.
>>
>> The first time I encountered coroutines was in Simula-67. Coroutine
>> switching was certainly explicit there. IIRC, the keyword was resume.
>
> I'm not sure exactly what "coroutine calls" refers to, but the
> "mis-feature" in Python co-routines that's being discussed is
> the fact that you can only yeild/resume from the main coroutine
> function.
>
> You can't call a function that yields control back to the other
> coroutine(s).  By jumping through some hoops you can get the
> same effect, but it's not very intuitive and it sort of "feels
> wrong" that the main routine has to know ahead of time when
> calling a function whether that function might need to yield or
> not.

You mean a "trampoline" function?  I.e. you have to call into your
coroutines in a special main function that expects as part of the
yielded value(s) the next coroutine to pass control to, and your
coroutines all need to yield the next coroutine?

~Simon
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to