""" Example from `Python: The Full Monty`__ -- A Tested Semantics for the Python Programming Language __ http://cs.brown.edu/~sk/Publications/Papers/Published/pmmwplck-python-full-monty/ "The following program, [...] seems to perform a simple abstraction over the process of yielding:" Citation: Joe Gibbs Politz, Alejandro Martinez, Matthew Milano, Sumner Warren, Daniel Patterson, Junsong Li, Anand Chitipothu, and Shriram Krishnamurthi. 2013. Python: the full monty. SIGPLAN Not. 48, 10 (October 2013), 217-232. DOI=10.1145/2544173.2509536 http://doi.acm.org/10.1145/2544173.2509536 """ # tag::YIELD_DELEGATE_FAIL[] def f(): def do_yield(n): yield n x = 0 while True: x += 1 do_yield(x) # end::YIELD_DELEGATE_FAIL[] if __name__ == '__main__': print('Invoking f() results in an infinite loop') f()