[Python-3000] Implementations: A syntax for extending method dispatching beyond type/class inheritance (original) (raw)
Dave Anderson python3000 at davious.org
Thu Dec 7 17:22:47 CET 2006
- Previous message: [Python-3000] Implementations: A syntax for extending method dispatching beyond type/class inheritance
- Next message: [Python-3000] Implementations: A syntax for extending method dispatching beyond type/class inheritance
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
on 12/7/2006 10:57 AM Hasan Diwan wrote:
On 07/12/06, Dave Anderson <python3000 at davious.org> wrote:
I feel on a different page from you. My best guess it is that def typeOfSuper(self): pass(subclass) is ceding its implementation to its subclasses, kind of like what an abstract class or interface would do but I feel my guess is wrong. Please clarify. No, that is spot-on.
The Implementations syntax sketch has no need for abstract classes, since concrete classes serve as the interfaces. Still, in the syntax, one could simply define a class with a bunch of empty methods, and it would be usable as an abstract class.
The former is an example of someone writing a function whose first parameter is expected to be any object that is derived from MutableContainer (including dict), or is derived from a class that implements MutableContainer (including those implementing dict), or is derived from a class that specifically implements MutableContainer.add using a declaration like:
class CanAdd: implements MutableContainer.add def add(self, key, value): I find you're making the whole "implements" procedure, a little too complex.
Ouch. Touché. :(
Simple things simple. Complex things possible.
- Previous message: [Python-3000] Implementations: A syntax for extending method dispatching beyond type/class inheritance
- Next message: [Python-3000] Implementations: A syntax for extending method dispatching beyond type/class inheritance
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]