On Sun, Oct 15, 2017 at 8:17 PM, Nathaniel Smith <n...@pobox.com> wrote:
> On Sun, Oct 15, 2017 at 6:33 PM, Yury Selivanov <yselivanov...@gmail.com> > wrote: > > Stage 1. A new execution context PEP to solve the problem *just for > > async code*. The PEP will target Python 3.7 and completely ignore > > synchronous generators and asynchronous generators. It will be based > > on PEP 550 v1 (no chained lookups, immutable mapping or CoW as an > > optimization) and borrow some good API decisions from PEP 550 v3+ > > (contextvars module, ContextVar class). The API (and C-API) will be > > designed to be future proof and ultimately allow transition to the > > stage 2. > > If you want to ignore generators/async generators, then I think you > don't even want PEP 550 v1, you just want something like a > {set,get}_context_state API that lets you access the ThreadState's > context dict (or rather, an opaque ContextState object that holds the > context dict), and then task schedulers can call them at appropriate > moments. > Yes, that's what I meant by "ignoring generators". And I'd like there to be a "current context" that's a per-thread MutableMapping with ContextVar keys. Maybe there's not much more to it apart from naming the APIs for getting and setting it? To be clear, I am fine with this being a specific subtype of MutableMapping. But I don't see much benefit in making it more abstract than that. -- --Guido van Rossum (python.org/~guido)
_______________________________________________ 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