[Python-3000] iostack and Oh Oh
Phillip J. Eby
pje at telecommunity.com
Sat Dec 2 06:46:31 CET 2006
At 05:47 PM 12/1/2006 -0800, Bill Janssen wrote:
> > Actually, to me the thing that's a stretch from current practice is the
> > attempt to spell out in detail what a "mapping" is.
>
>Good point :-). Of course, that's the problem I'd like to see fixed
>-- not knowing what a mapping is, or whether a particular value is
>one.
Why do you *need* to know? The truth is that you don't need to know if
something is "a mapping", you need to know if it does what you want it to
do. And what you want a "mapping" to do may not be the same as what
somebody else wants a "mapping" to do, which then leads to problems if two
libraries are deciding what to do with an object based on it being "a mapping".
This was the larger point of my post, actually. :)
The thing you're defining as a solution, is actually a source of more
problems. At least when the concept of "mapping" is expressed verbally,
everybody *knows* that the term is fuzzy. Reifying it into an object
doesn't actually eliminate the inherent fuzziness -- which is why I
proposed a fuzzy interface implementation, btw.
> > I'm not saying there is no such thing as "mapping", IOW, I am saying that
> > "mapping" is an informal shorthand for a collection of operations. If you
> > want to be specific, refer to operations. If you wish to be concise (but
> > vague) then refer to "mapping".
>
>I think we're in agreement here. It's just that using interfaces lets
>us capture aspects of the semantics of that grouping of operations
>which may not be expressible in the description of the operations
>themselves.
So far the only example anyone brought up of such a concept was
thread-safety, but even that only makes sense in terms of guarantees about
the operations you can perform, in relation to other operations.
What we're in disagreement on, is that I'm saying there is no such thing as
"the people", only individual persons, while if I understand you correctly,
you would make "the people" into an actual thing, rather than a verbal
shorthand for referring to a group without listing its individuals. I
contend that the group doesn't really exist; it's merely a convenient
shorthand fiction that reflects our (fuzzy) notion of "the people", and not
something that actually exists in the world.
So, we should have fuzzy interfaces, that reflect our fuzzy notions of
"mapping", and do not require that an object implement the whole of an
interface, just like our fuzzy notion of "bird" does not require that all
birds fly, even though most of them do.
More information about the Python-3000
mailing list