<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>I just tried doing this without using "Subclass me" and it seems to work, as long as I make both objects independently - that is I don't create the second object as a clone of the first. This seems to match what it says in the Self Morphic document:<br></div>
<div> </div>
<div class="page" title="Page 11"><div class="section"><div class="layoutArea"><div class="column"><p><span style="font-family:'Times'" class="font"><span style="font-size:10pt" class="size">"Changes are propagated only to objects registered in the global
namespace (other prototypes), not to clones of those objects (instances).
</span></span>"<br></p><div defang_dir="" class="">What are the advantages of using copy down slots over using 'data parents' as described in the "organizing programs without classes" paper? In that paper a second parent is created that holds the data to be inherited and the 'copy' operation in the trait is overridden to copy the data parents. I'm curious why morphic went for the copy down approach vs that.<br></div>
</div>
</div>
</div>
</div>
<div> </div>
<div> </div>
<div>On Wed, Mar 12, 2014, at 06:00 AM, ardeujho wrote:<br></div>
<blockquote style="margin: 0px 0px 0px 4px;" type="cite"><div>













 

<span style="display:none"> </span>


<br></div>
<div style="position: relative; font-family: Arial,helvetica,clean,sans-serif; font-size: 13px;"><div style="z-index: 1; line-height: 1.22em;"><div style="font-family: Georgia; line-height: 1.22em;"><p style="margin: 0px 0px 1em; line-height: 1.22em;">I'm having trouble getting copy down slots working and I'm wondering if<br></p><div defang_dir="" class="">
I'm doing something wrong. These are the steps I took:<br></div>
<div defang_dir="" class=""> </div>
<div defang_dir="" class="">
1) copy a new object (| parent*=traits clonable. x. |) <br></div>
<div defang_dir="" class="">
2) Set that as 'myfoo' in globals and set the creator path to 'myfoo'.<br></div>
<div defang_dir="" class="">
3) Do a "Subclass me" on the myfoo object. Use defaults for the prompts.<br></div>
<div defang_dir="" class="">
...the new object appears with the copy down'd 'x' slot...<br></div>
<div defang_dir="" class="">
4) Add a new slot 'y' to 'myfoo'<br></div>
<div defang_dir="" class=""> </div>
<div defang_dir="" class="">
Here I expected 'y' to appear in my subclassed object but it did not.<br></div>
<div defang_dir="" class="">
This also does not work if I manually create an object and use the copy<br></div>
<div defang_dir="" class="">
down parent annotations. I see the copy down slots but adding a new slot<br></div>
<div defang_dir="" class="">
in the parent doesn't make it appear in the child.<br></div>
<div defang_dir="" class=""> </div>
<div defang_dir="" class="">
If I add a field to 'set' though I do see it propagate to 'dictionary'.<br></div>
<div defang_dir="" class="">
Is my own created objects missing some annotation to make this work?
<br></div>
</div>
<div style="color: rgb(255, 255, 255); height: 0px; line-height: 1.22em;"><br></div>
</blockquote></body>
</html>