Hi there,

I think we've had enough discussion to make a decision. Hopefully 
everybody is at least reasonably happy with this:

An "adapt()" method will be added to Interface. It takes the objects to 
adapt as *args, and optional but explicit 'default' and 'name' aguments.

A "utility()" method will be added to Interface. It takes optional but 
explicit 'default' and 'name' arguments.

On the adapter hook (__call__) we will deprecate the implicit second 
argument for defaults, with a deprecation warning. Instead, we will 
require people to write out 'default=' explicitly. Otherwise its 
behavior remains unchanged. I think we can motivate this change purely 
because IFoo(bar, baz) really is quite surprising compared to IFoo(bar, 

[steering group members, if you are really unhappy with this, please 
speak up now. Silence is assent. :)]

Hopefully we can move forward towards implementation.

Thomas Lotze, are you happy enough with this to still help with the 

Thanks everybody for your participation in the discussion!



Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope )

Reply via email to