Greg Ewing wrote: > Phillip J. Eby wrote: >> you can register your types with other people's >> generic functions, or other people's types with your generic >> functions, > > There's still a possibility of conflict even then. Fred > registers one of Mary's types with his generic function, > which he feels entitled to do because he owns the function. > Meanwhile, Mary registers the same type with the same > function, which she feels entitled to do because she > owns the type. > > The problem is that nobody entirely owns the (type, > function) pair, which is what's required to be unique.
However, even if it *does* happen, the application programmer can still resolve the conflict by picking one of the two implementations and registering it as an override. At the moment if you don't like the way a particularly library handles another library's or your application's types your ability to do anything about it is pretty close to nonexistent (unless the library employs some kind of interface or generic function mechanism). Generic functions don't magically make library compatibility problems go away, particularly when the libraries involved are interacting directly rather than going through the main application. What they *do* provide is a standard toolkit for reducing the likelihood of incompatibility occurring in the first place, and providing the means for resolving whatever conflicts do arise. Regards, Nick. -- Nick Coghlan | [EMAIL PROTECTED] | Brisbane, Australia --------------------------------------------------------------- http://www.boredomandlaziness.org _______________________________________________ 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