In case you don't know, I'm the guy on irc that has a tendency to dislike things.
I'm going to apply to GSoC with http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/lucian1900/1 If it's TL;DR, I'm trying to decide between 6model or a custom object system. From what 6model docs I've read, I'm not convinced it can efficiently and easily support Python. Hence, I'm asking you fine folk whether 6model is appropriate. For those of you who aren't familiar with Python's object system, here goes a brief description: (also if you do know python and I'm hopelessly wrong, feel free to intervene). If you know JavaScript, Python's object system is vaguely similar. Every value in Python is an object. Objects in python have attributes. Similarly to JavaScript, python objects are backed by a hash (dict). So while in JavaScript you can either do obj.attr or obj['attr'], in python you can do either obj.attr or obj.__dict__['attr']. Btw, never write code like that in python. Methods in Python are just regular attributes that happen to be callable (most commonly functions). Also, these functions get "bound", which is fancy talk for "they get 'self' as the first argument". So in python obj.method(foo, bar) is equivalent to obj.__dict__['method'](obj, foo, bar). As an interesting consequence, Python can do multidispatch natively. Furthermore, functions are just objects with a __call__ method. So you could also instead of obj.method(foo, bar) do obj.__dict__['method'].__call__(obj, foo, bar). The recursiveness is broken with either python functions defined with 'def' (one of the __call__ will be a dummy for actual python bytecode) or with a C function in some cases. Classes are just a collection of attributes that all objects of that type share. Classes are also objects. However, nothings stops you from chanding/adding attributes (which could be functions that take self as a first argument) to either the class object or the instance object. What's a very hand-wavy, somewhat incomplete and slightly wrong description of Python's object system. With that in mind, do you think 6model could support python in a straightforward and efficient manner? If yes, do you think it would be a good idea to try it for GSoC? i.e. is 6model mature enough? _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
