Object adaptation and interfaces and so forth

(Not exactly an idea post, but I don't want to bother python-dev or python-3000 with this.) PEP 246 was rejected a year or so ago, and Guido's rejection note stated "Something much better is about to happen; it's too early to say exactly what, but it's not going to resemble the proposal in this PEP." Does anyone know if anything has gone on with this concept since then? It seems like it has a lot of really interesting potential, although I do see why PEP 246's specific proposal was rejected. It's just the "Something much better is about to happen" that got me curious -- is it happening yet? :)

Adam Atlas wrote:
Reminds me of that scene from 2010: Dave Bowman: You see, something's going to happen. You must leave. Heywood Floyd: What? What's going to happen? Dave Bowman: Something wonderful. Heywood Floyd: What? Dave Bowman: I understand how you feel. You see, it's all very clear to me now. The whole thing. It's wonderful. The answer to your question is "yes", although it's happening in very small stages. Specifically, Python 3000'a argument decorators and abstract base classes are laying the groundwork for an adaption system via generic functions. Argument decorators make declaring of generic functions much less cumbersome than was previously possible. And abstract base classes give the generic functions something to work on that is more general than merely working on concrete types - it provides a way to reason about types in a duck-typing world. What happens next is that there will be various 3rd party implementations of generic function dispatch which will be based on those two things. Phillip J. Eby has already stated that he is interested in creating a kind of reference implementation that incorporates most of the interesting features, however his need not be the only one. These generic function dispatchers, working off of both concrete and abstract types can be used to implement object adaptation in various ways (If anyone wants to supply some concrete examples here, please be my guest.) -- Talin

Adam Atlas wrote:
Reminds me of that scene from 2010: Dave Bowman: You see, something's going to happen. You must leave. Heywood Floyd: What? What's going to happen? Dave Bowman: Something wonderful. Heywood Floyd: What? Dave Bowman: I understand how you feel. You see, it's all very clear to me now. The whole thing. It's wonderful. The answer to your question is "yes", although it's happening in very small stages. Specifically, Python 3000'a argument decorators and abstract base classes are laying the groundwork for an adaption system via generic functions. Argument decorators make declaring of generic functions much less cumbersome than was previously possible. And abstract base classes give the generic functions something to work on that is more general than merely working on concrete types - it provides a way to reason about types in a duck-typing world. What happens next is that there will be various 3rd party implementations of generic function dispatch which will be based on those two things. Phillip J. Eby has already stated that he is interested in creating a kind of reference implementation that incorporates most of the interesting features, however his need not be the only one. These generic function dispatchers, working off of both concrete and abstract types can be used to implement object adaptation in various ways (If anyone wants to supply some concrete examples here, please be my guest.) -- Talin
participants (3)
-
Adam Atlas
-
Jim Jewett
-
Talin