[Python-Dev] PEP 343 update (with statement context terminology)
Nick Coghlan
ncoghlan at gmail.com
Tue Apr 25 16:23:42 CEST 2006
Phillip J. Eby wrote:
> If qualification of "context" is the only problem, I propose:
>
> context manager -- thing with __context__ method
> execution context object -- thing with __enter__/__exit__/__context__
> execution context -- the abstract thing set up and torn down by the ECO
>
> "When requested by the with statement, a context manager returns an
> execution context object that sets up and tears down the desired
> execution context for the block."
I just checked in a change that reverts to the alpha 1 terminology, but uses
"with statement context" to work around the ambiguity issues. Hopefully as
just an interim fix until we find something better, but I could live with it
if I absolutely had to :)
'execution context object' I still find too ambiguous, because I'd like to be
able to drop the 'object' off the end and still have something that refers to
the right kind of object (just as we don't need to tack 'object' onto the end
of context manager all the time).
The best I've thought of is 'managed context' (and that only occurred to me
about five minutes ago):
"When requested by the with statement, a context manager returns a managed
context object that sets up and tears down the desired execution context for
the block."
> And I still call for @contextfactory as a decorator that creates a
> factory function returning an execution context. I don't think that
> calling it an "executioncontextfactory" or "executionfactory" or
> anything like that adds anything useful; it is after all coming from a
> library for dealing with execution contexts, so it's sufficiently clear,
> um, in context. :)
I'm definitely sold on that one - I included it as part of my latest checkin
since it dealt nicely with the alpha 1 documentation's contextmanager problem.
As you say, the fact that it's in contextlib provides ample indication that
it's talking about with statement contexts.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://www.boredomandlaziness.org
More information about the Python-Dev
mailing list