On Mon, Nov 30, 2009 at 5:09 PM, Martijn Faassen <faas...@startifact.com> wrote:
> Leonardo Rochael Almeida wrote:
>>  * Use a different package name!
>
> We don't have that option, as we're talking about changing the behavior
> of calling IFoo.

It's very well possible. You create a new distribution called for
example "Interface". Now you can write:

import interface
import zope.interface

class IFoo(interface.Interface): pass

class IBar(zope.interface.Interface): pass

Depending on what "kind" of interface you have the semantics of
calling these are different. Not that I'm proposing to do this, as it
leads to a pretty horrible mess, but it's possible.

We are just now getting rid of the old Zope2 Interface package and its
usage in Plone land, which has the same kind of incompatibility
problem. I expect that old version of interfaces is still going to be
with us for a number of years. So experience shows that something so
central, even if not used for many important things, has a much much
longer lifetime than you'd expect.

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

Reply via email to