At 10:16 AM 3/13/2007 -0400, Barry Warsaw wrote: >-----BEGIN PGP SIGNED MESSAGE----- >Hash: SHA1 > >On Mar 13, 2007, at 10:12 AM, Nick Coghlan wrote: > > > Generics can live quite happily inside modules and as methods on > > objects. > > > > The important aspect is the ability to tell the generic function > > "here's how to frobnicate a doodad", even though the basic > > frobnicator knows nothing about doodads, and doodads know nothing > > about frobnicating. That machinery can be designed to work for any > > callable. > >Are generics then just a way of doing adaptation on a per-function >basis rather than a per-object basis?
I prefer to think of adaptation as being a way to provide a namespace for generic functions. :) See http://mail.python.org/pipermail/python-3000/2006-November/004717.html for an implementation of this idea. Basically, you define an interface by creating generic functions in the body of an 'Interface' subclass... and the resulting Interface can then be used to adapt any object to it. The 26 lines of code I gave can be used are not specific to any particular generic function implementation, so they could be used with simplegeneric, RuleDispatch, PEAK-Rules, Guido's prototype, or anything else you might come up with. _______________________________________________ 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