I'm glad to see that everything old is new again.  All the stuff being discussed nowadays, even up through PEP 492, was largely what I was trying to show in 2002 .... the syntax just got nicer in the intervening 13 years :-).

On Wed, May 6, 2015 at 10:57 AM, Guido van Rossum <guido@python.org> wrote:
For those interested in tracking the history of generators and coroutines in Python, I just found out that PEP 342 (which introduced send/throw/close and made "generators as coroutines" a mainstream Python concept) harks back to PEP 288, which was rejected. PEP 288 also proposed some changes to generators. The interesting bit though is in the references: there are two links to old articles by David Mertz that describe using generators in state machines and other interesting and unconventional applications of generators. All these well predated PEP 342, so yield was a statement and could not receive a value from the function calling next() -- communication was through a shared class instance.

http://gnosis.cx/publish/programming/charming_python_b5.txt
http://gnosis.cx/publish/programming/charming_python_b7.txt

Enjoy!

--
--Guido van Rossum (python.org/~guido)



--
Keeping medicines from the bloodstreams of the sick; food
from the bellies of the hungry; books from the hands of the
uneducated; technology from the underdeveloped; and putting
advocates of freedom in prisons.  Intellectual property is
to the 21st century what the slave trade was to the 16th.