[Python-3000] iostack and Oh Oh
janssen at parc.com
Fri Dec 1 20:12:11 CET 2006
Samuele Pedroni writes:
> Also the built-in types are concrete types, which tend to maximize
> convenience. It's unclear
> that they are a good starting point to define interfaces, because of
> this maximality.
I agree with you on this, Samuele. I don't want to deep-end, and put
only one method in each interface, but I think the standard types
could be decomposed a bit. I've tried to do this with my list (which,
by the way, feel free to fiddle with -- that's why it's a Wiki page) at
http://wiki.python.org/moin/AbstractBaseClasses. You'll note that the
"list" type is constructed of six interfaces: Comparable, Object,
Container, MutableContainer, Sequence, and MutableSequence. (Though
the inheritance hierarchy makes this easier to think about.) And the
"file" object is broken into nine base interfaces. My thinking (about
"file") is that in Py3 the actual file type might be
implementation-dependent, and in fact there might be several of them,
each of which would mix together a different set of file interfaces.
I think a similar decomposition would apply to Mapping; I just don't
have a good idea of what it would be (yet).
More information about the Python-3000