[self-interest] Issues about delegation
"J. Baltasar García Perez-Schofield"
jgarcia at ei.uvigo.es
Wed Nov 5 18:27:22 UTC 2003
Hi !
>In one kind of prototype based language, such as Io (I think) or
>NewtonScript, you can create local copies of an inherited slot whenever
>you try to change its value. These "copy-on-write" slots are really
>nice when they do what you want since they avoid replicating shared
>state.
I see. So, the "general" solution would be to copy all inherited
attributes.
>Self is a bit more conservative so you have to explicitly recreate any
>slots you want a local copy of. The language doesn't have any built in
>feature to help you with that, but the programming environment does
>(see "copy-down slots" in the manuals). The most interesting papers for
>you might be:
>
>http://research.sun.com/self/papers/organizing-programs.html
>
>and
>
>http://research.sun.com/self/papers/parents-shared-parts.html
Certainly. I've already printed both. But I wanted to check before
if this was a real problem, or I was just missing something.
>Here is one possible organization of your application in Self -
>
> traits person = ( | parent* = traits clonable.
> otherStuff....
> | )
>
>
>which looks pretty similar to what it would be in a class based
>language, with the additional complication of having to repeat the
>'name' slot manually
I understand. Is 'traits' a way to distinguish between prototype
objects ("classes") and "instance" objects ?
Thank you for the quick (and wise) answer. :-)
Salud !
j.Baltasar
=======================================
PBC - J. Baltasar García Perez-Schofield
Dep. Informática, Universidad de Vigo, España (Spain)
More information about the Self-interest
mailing list