[Python-Dev] type categories
Martin v. Loewis
13 Aug 2002 22:27:29 +0200
Andrew Koenig <firstname.lastname@example.org> writes:
> So what I wonder is this: Has there been much thought about making
> these type categories more explicitly part of the type system?
Certainly. Such a feature has been called "interface" or "protocol"; I
usually associate with "interface" a static property (a type
implements an interface, by means of a declaration) and with
"protocol" a dynamic property (an object conforms to a protocol, by
acting according to the rules that the protocol set).
Your question exist in many variations. One of it lead to the creation
of the types-sig, another one triggered papers titled "Optional Static
The most recent version of an attempt to making interfaces part of
Python is PEP 245,
I believe there is agreement by now that there will be difference
between declared interfaces and implemented protocols: an object may
follow the protocol even if it did not declare the interface, and an
object may violate a protocol even if its type did declare the
Beyond that, there is little agreement.