[Python-Dev] Type/class (original) (raw)
Samuele Pedroni Samuele Pedroni pedroni@inf.ethz.ch
Fri, 11 May 2001 16:56:48 +0200 (MET DST)
- Previous message: [Python-Dev] Mac hierarchy backwards
- Next message: [Python-Dev] status of pre?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi.
Reading up on MetaClasses in Smalltalk again makes me appreciate the simplicity of a prototype system where everything is just an object -- all objects can be cloned, and some objects are only used for cloning -- they are the exemplars of their type which fill the role of Classes. I agree, I often read that Smalltalk is "simple" up to metaclasses, on the other hand the casual user can just ignore them.
Unfortunately, although prototypes would be a lot simpler, it would be a pretty incompatible change for Python -- I can't think of any way to get there without a lot of breakage.
(Still -- I wonder if there's a way they could be used under the covers in the implementation to make it simpler. Prototype semantics are basically a superset of Class based semantics, which is how it was easy to do Smalltalk in Self.) [Ignoring the fact that code and changes require coders]
Thinking in terms of proto-objects, parent slots and list parent slots:
python instance I have data slots and a parent slot class,
python classe G have data slots and a list parent slot bases,
then we have the python rules (not very uniforms): function from I directly => function function from I.class => bound method function from C => unbound method
That's the difficult part for every model that aims to remain compatible.
Samuele Pedroni.
- Previous message: [Python-Dev] Mac hierarchy backwards
- Next message: [Python-Dev] status of pre?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]