[Python-Dev] PEP 550 v3 naming
Antoine Pitrou
solipsis at pitrou.net
Thu Aug 24 04:22:33 EDT 2017
On Wed, 23 Aug 2017 14:27:55 -0400
Yury Selivanov <yselivanov.ml at gmail.com> wrote:
>
> Yeah.. I like TaskContext when it's applied to asynchronous code. It
> doesn't really work for generators because we never refer to
> generators as tasks.
>
> Out of what was proposed so far to replace Logical Context:
>
> 1. DynamicContext: close to "dynamic scoping", but tries to avoid
> mentioning "scopes". There are only a few languages where dynamic
> scoping is implemented, so people are generally not aware of it.
>
> 2. ContextFrame and all frame-related names: implies that EC is
> somehow implemented on top of frames or is frame-specific (which is
> not always true).
>
> 3. ImplicitContext: covers one specific property observed from
> specific examples. Context in PEP 550 is managed explicitly in some
> cases. There are many use cases when API users will be working with it
> explicitly too (to wrirte/read data from it). FWIW I believe that
> "ExplicitContext" would be more accurate than "ImplicitContext".
>
> 4. LocalContext: we use "local" to describe local variables and
> scoping in Python, we want to avoid any confusion here.
>
> 5. TaskContext: works for asynchronous tasks, but not for generators.
>
> I don't think that replacing LogicalContext with any name in this list
> will make any improvement.
I think you have a point. Though every time I want to type "logical
context" it seems my fingers slip and type "local context" instead :-)
Now remains the question of why the logical context stack is named
"execution context" and not "logical context stack" (or "logical
context chain" to keep the ChainMap analogy) :-)
Regards
Antoine.
More information about the Python-Dev
mailing list