I agree.

I do not see why we make the situation so complicated.

Extending a class with state is the same conceptually as is extending it
with methods. The same type of problems apply. We can extend a class with
methods, and we know it is powerful.

Yes, you can have problems with overrides sometimes, but in practice,
method extensions collision occurs rarely now. With a little discipline,
you can get things to work quite nicely. And again, it is the
responsibility of the extender to manage the extensions.

Doru




On Fri, Nov 1, 2013 at 4:36 AM, Stéphane Ducasse
<[email protected]>wrote:

>
> 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.
> >
>
>
>


-- 
www.tudorgirba.com

"Every thing has its own flow"

Reply via email to