[Python-3000] Discussions with no PEPs

Bill Janssen janssen at parc.com
Thu Mar 8 20:54:26 CET 2007


> In any case, I would like to know, what is the current status of the 
> following issues:
> 
>    -- Generic Functions
>    -- Interfaces
>    -- Metaclass syntax
> 
> It's not my intention to start a big thread about these

I don't see how you can avoid it -- that's the reason there's no PEP.

I'd be happy to take this discussion up again.  For those who don't
remember, I believe that the existing multiple-inheritance object
system gives us a reasonable way to define standard sets of operations
(interfaces) which are provided to new types through the existing
inheritance system, not some additional side-tagging mechanism.  I
further believe that a standard set of base types (interfaces) should
be designed and put into P3 as soon as possible, and that all the
standard built-in types should be either one of these base types, or
composed from several of them.  This approach has apparently been
identified as ABC, standing for "abstract base classes", though the
amount of abstractness that's necessary is debatable -- I've seen
schemes like this where the base classes include working default
implementations of the underlying semantics.

There's an incomplete wiki page about a possible factoring of types at
http://wiki.python.org/moin/AbstractBaseClasses.

I further believe that relying on so-called "duck typing" runtime
partial information probes is a fragile and error-prone way to build
software, and that it should be deprecated in favor of "supports this
interface" tests.

I've got no opinion (yet :-) on metaclass syntax.

How do we make progress on getting this into Py3K?

Bill


More information about the Python-3000 mailing list