On 4/29/07, Steven Bethard <[EMAIL PROTECTED]> wrote:
> On 4/29/07, Talin <[EMAIL PROTECTED]> wrote:
> > If it were technically possible, I would recommend that this PEP have to
> > run the same gauntlet that any other large library addition would, which
> > is to go through a long period of community feedback and criticism,
> > during which a large number of people actually attempt to use the
> > feature for real work.

> This sounds like a pretty good reason to add __isinstance__() and
> __issubclass__().  Then the various ABCs can be distributed as
> third-party modules but can still make sure that things like
> isinstance(42, Real) and issubclass(int, Complex) are True (or
> whatever other assertions people want to make).

Or isexample, so that we aren't locked into implementing ABCs as base classes.

    def isexample(val, ABC):
        return ABC.__example__(val)

    class ABC(object):
        def __example__(cls, val):
            if val in cls.__instance:  return True
            if val in cls.__non_instance:  return False
            for instclass in type(val).__mro__:
                if instclass in __class:  return True
                if instclass in __non_class: return False
            return False

        ... methods to register classes, unregister subclasses, etc

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

Reply via email to