A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2016-August/145893.html below:

[Python-Dev] PEP 525

[Python-Dev] PEP 525Sven R. Kunze srkunze at mail.de
Wed Aug 24 15:01:01 EDT 2016
On 24.08.2016 18:35, Guido van Rossum wrote:
> On Wed, Aug 24, 2016 at 8:17 AM, Yury Selivanov 
> <yselivanov.ml at gmail.com <mailto:yselivanov.ml at gmail.com>> wrote:
>
>     On 2016-08-23 10:38 PM, Rajiv Kumar wrote:
>
>         I was playing with your implementation to gain a better
>         understanding of the operation of asend() and friends. Since I
>         was explicitly trying to "manually" advance the generators, I
>         wasn't using asyncio or other event loop. This meant that the
>         first thing I ran into with my toy code was the RuntimeError
>         ("cannot iterate async generator without finalizer set").
>
>         As you have argued elsewhere, in practice the finalizer is
>         likely to be set by the event loop. Since the authors of event
>         loops are likely to know that they should set the finalizer,
>         would it perhaps be acceptable to merely issue a warning
>         instead of an error if the finalizer is not set? That way
>         there isn't an extra hoop to jump through for simple examples.
>
>         In my case, I just called
>             sys.set_asyncgen_finalizer(lambda g: 1)
>         to get around the error and continue playing :) (I realize
>         that's a bad thing to do but it didn't matter for the toy cases)
>
>
>     Yeah, maybe warning would be sufficient.  I just find it's highly
>     unlikely that a lot of people would use async generators without a
>     loop/coroutine runner, as it's a very tedious process.
>
>
> Heh, I had the same reaction as Rajiv. I think the tediousness is 
> actually a good argument that there's no reason to forbid this. I 
> don't even think a warning is needed. People who don't use a coroutine 
> runner are probably just playing around (maybe even in the REPL) and 
> they shouldn't get advice unasked.

I also was irritated as Yury said there were absolutely no changes after 
python-ideas. He said he might consider a clearer warning for those 
examples at the beginning of the PEP to make them work for the reader.

>
> Would it be possible to print a warning only when an async generator 
> is being finalized and doesn't run straight to the end without 
> suspending or yielding? For regular generators we have a similar 
> exception (although I don't recall whether we actually warn) -- if you 
> call close() and it tries to yield another value it is just GC'ed 
> without giving the frame more control. For an async generator there 
> are two cases: either it tries to yield another value (the first time 
> this happens you can throw an error back into it) or it tries to await 
> -- in that case you can also throw an error back into it, and if the 
> error comes out unhandled you can print the error (in both cases 
> actually).
>
> It's probably to specify all this behavior using some kind of default 
> finalizer (though you don't have to implement it that way).

Does a default finalizer solve the "event loop does not know its AGs" 
problem?

> Hopefully there will be other discussion as well, otherwise I'll have 
> to accept the PEP once this issue is cleared up. :-)
>
> -- 
> --Guido van Rossum (python.org/~guido <http://python.org/%7Eguido>)
>
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/srkunze%40mail.de

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20160824/f8e247c3/attachment.html>
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4