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.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4