On Oct 31, 2013, at 11:37 PM, Igor Stasenko <[email protected]> wrote:
> > Btw, if you remember, i already proposed how to solve 'extending object's > state with arbitrary state' , mainly by changing the object format to support > variable number of key-value properties per object. > Similar to javascript or self, where you can define a new property on a > per-object basis. > This is fairly easy to implement, at VM level, just reserve extra field in > object format, > define the format of key/value dictionary and add primitives to retrieve and > store key-based properties for objects. > What i like in it, that at language side it is cost nothing: you don't have > to extend > the language to formally define the slots (but you may, of course), > and there's nothing preventing you from using private keys and not giving > them away > to anyone to keep your data private and not exposing it globally (except from > reflection tools i guess). > And, what is important, you are free to use them or not.. and it costs almost > nothing in terms of performance, and nothing in terms of formalism and extra > rules in language/package/source management etc etc you do not need to be at the object level. For me this would be another level of mess. When you think about class extensions we get them because methods are not in the scope of the their class so it was easy to define a method into a file that represented another changeset. Now we have problem with iv extensions because they are scoped by the class definition. Stef > > -- > Best regards, > Igor Stasenko. >
