Fwd: Replacing Infinite while Loops with an Iterator: async edition
On Jun 23, 2018, at 21:11, Nathaniel Smith
He's asking for an async version of the 'iter' builtin, presumably something like: async def aiter(async_callable, sentinel): while True: value = await async_callable() if value == sentinel: break yield value -n
Yes, exactly (thanks, Nathaniel). Wouldn't that be a useful built-in? (Greg, I too would be surprised if this were the first time this idea has been raised, but I looked before posting and couldn’t immediately find prior discussion.)
On Jun 23, 2018, at 21:11, Nathaniel Smith
wrote: He's asking for an async version of the 'iter' builtin, presumably something like: async def aiter(async_callable, sentinel): while True: value = await async_callable() if value == sentinel: break yield value -n
Yes, exactly (thanks, Nathaniel). Wouldn't that be a useful built-in?
(Greg, I too would be surprised if this were the first time this idea has been raised, but I looked before posting and couldn’t immediately find prior discussion.)
There is an open issue for this: https://bugs.python.org/issue31861. It
2018-06-24 12:30 GMT-07:00
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/
On Sun, Jun 24, 2018 at 3:34 PM Jelle Zijlstra
There is an open issue for this: https://bugs.python.org/issue31861. It proposes adding aiter() and anext() as builtins.
Oh, great to see that, thanks! I'll follow along on that issue, and maybe even contribute a PR if I can.
jab@math.brown.edu wrote:
On Jun 23, 2018, at 21:11, Nathaniel Smith
mailto:n...@pobox.com> wrote: He's asking for an async version of the 'iter' builtin, presumably something like: async def aiter(async_callable, sentinel): while True: value = await async_callable() if value == sentinel: break yield value -n
Yes, exactly (thanks, Nathaniel). Wouldn't that be a useful built-in?
Ah, sorry, I misunderstood. I'm surprised this doesn't exist already -- it seems like an obvious thing to have along with the other async features. -- Greg
On Sunday, June 24, 2018 at 7:48:34 PM UTC-4, Greg Ewing wrote:
j...@math.brown.edu javascript: wrote:
On Jun 23, 2018, at 21:11, Nathaniel Smith
mailto:n...@pobox.com> wrote: He's asking for an async version of the 'iter' builtin, presumably something like: async def aiter(async_callable, sentinel): while True: value = await async_callable() if value == sentinel: break yield value -n
Yes, exactly (thanks, Nathaniel). Wouldn't that be a useful built-in?
Ah, sorry, I misunderstood.
I'm surprised this doesn't exist already -- it seems like an obvious thing to have along with the other async features.
-- Greg
Just submitted a PR: https://github.com/python/cpython/pull/8895
participants (3)
-
Greg Ewing
-
jab@math.brown.edu
-
Jelle Zijlstra