On 3/31/06, Greg Ewing <[EMAIL PROTECTED]> wrote: > Alex Martelli wrote: > > > If the framework consuming X requested adaptation-to-X on all objects > > it's passed, > > This is the part that bothers me, I think. It > seems like all these adaptation requests would > be a huge burden on the framework developer.
That *is* the big stumbling block, I agree. However, where it's used, I've generally found adaptation to be a nice solution (although I've only written "learning" or "toy" code, so I don't have production-level experience to back this up). But it's not true that you have to do this from day one. You can leave your framework as it is, and only add adaptation when it's needed. The __index__ example is a good one here - for a long time, __index__ didn't exist. But in the end, the requirement to index with user-defined types became sufficiently pressing that a solution was needed. The "traditional" solution, __index__, requires co-operation from all classes that want to support the new protocol. Adaptation doesn't - it can be added externally. The downside of adaptation is that it either requires buy-in to an existing interface framework (zope interfaces, PyProtocols, whatever) or it requires language (stdlib) support. Rather than being a solution looking for a problem, I suspect it's more of a chicken and egg issue. But either way it's a stumbling block. Paul. _______________________________________________ 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