On 07.03.2017 19:37, Jelle Zijlstra wrote:
2017-03-07 10:15 GMT-08:00 Ethan Furman <et...@stoneleaf.us
<mailto:et...@stoneleaf.us>>:
On 03/07/2017 09:41 AM, Brett Cannon wrote:
I don't think a common practice has bubbled up yet for when
there's both synchronous and asynchronous versions of an API
(closest I have seen is appending an "a" to the async version
but that just looks like a spelling mistake to me most of
the time). This is why the question of whether separate
modules are a better idea is coming up.
I'm undoubtedly going to show my ignorance with this question, but
is it feasible to have both sync and async support in the same object?
It's possible, but it quickly gets awkward and will require a lot of
code duplication.
Correct me if I'm wrong, but we would get the code duplication anyway.
async intrinsically does the same thing (just a little bit different) as
its sync counterpart. Otherwise, you wouldn't use it.
For example, we could make @contextmanager work for async functions by
making the _GeneratorContextManager class implement both enter/exit
and aenter/aexit, but then you'd get an obscure error if you used with
on an async contextmanager or async with on a non-async contextmanager.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com