[self-interest] prototypes (was: new video)
Jecel Assumpcao Jr.
jecel at merlintec.com
Wed Jun 20 18:18:45 UTC 2018
Randy Smith wrote on Sat, 16 Jun 2018 15:18:53 -0700
> > On Jun 16, 2018, at 3:10 PM, David Ungar wrote:
> > As I recall it, Lieberman published a paper on prototypes in about 85,
> > inspired by Actors (Hewitt, Agha). But we decided he had it wrong
> > because it was copy on write. In his model, when you assigned to a
> > slot, the slot was added to the target. I think Randy came up with ARK
> > prototypes independently.
> Independent of Lieberman anyway, though I think Lieberman was '86?
Exactly. I searched for this paper because it was one of the references
in the Self paper. It did change what I had initially thought about
Self, but when I got to use Self I found that my first impression had
been the right one.
Newtscript and Io use the copy-on-write slot idea so for them
"prototypes" is something you inherit from with a fresh, empty object.
While in Self "protypes" is a template to be copied, like exemplars. The
"xerox" button in ARK left no doubt how things should work, though the
use of 'clone' and 'copy' in Self is also a clue.
Some later Self papers should have cleared this up, but I guess most
people haven't read them.
> As I say some at PARC were aware of the idea of "copy a thing, change it
> some" as a model for making new stuff, but I kind of feel that is pretty
> obvious. It is, after all, how you make a ham-and-cheese sandwich if you
> already know how to make a ham sandwich, for example.
When you have direct manipulation of persistent objects it can be
obvious. But most programmers live in a very indirect world. Sort of
like in biology where you edit some DNA and then have to grow the
organism to see the effect, then edit the DNA again and have to grow a
second organism and so on. You can't poke at the organism and have its
DNA reflect the change.
More information about the Self-interest