On Apr 24, 2006, at 03:49, Nick Coghlan wrote:

> Just van Rossum wrote:
>> Baptiste Carvello wrote:
>>
>>> Terry Reedy a écrit :
>>>> So I propose that the context maker be called just that: 'context
>>>> maker'. That should pretty clearly not be the context that manages
>>>> the block execution.
>>>>
>>> +1 for context maker. In fact, after reading the begining of the
>>> thread, I came up with the very same idea.
>>
>> Or maybe "context factory"?

Yes its a factory. That is traditionally that you call a function  
that makes objects isn't it?

> That would be fine if we used __call__ to retrieve the context  
> manager - but
> "factory" is too tightly bound to "factory function" in my mind.

__call__ may or may not implement a factory, that is up to my design  
to decide.
__context__ is always  a factory because that is the interface that  
"with" mandates.
factory function is one way to implement a factory so yes its tightly  
bound,
but that not a reason to reject factory.

 From what I've read on this list this is all there is to it:

with EXPR:
        block

with needs a context. If the EXPR object has a __context__ method
it is a factory that will make a suitable context for the EXPR object
otherwise EXPR is the context.

that context must have __enter__ and __exit__ methods to operate
the with protocol.

I haven't learn about decorators so I've no comment on why you need
them as well as the special method names. But the docs should tell
me why.

Barry

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to