[Squeakland] Where can I find a description of make siblings

Ned Konz ned at bike-nomad.com
Thu Dec 23 12:27:00 PST 2004

On Wednesday 22 December 2004 12:33 am, stéphane ducasse wrote:

> I was showing to a teacher how to use make siblings and we were
> confused by the behavior.
> Is there somewhere a description of the difference between copy and
> make siblings.

Copy (green halo handle, "Duplicate") is now the default for an 
UnscriptedPlayer, that is, one without scripts or variables). For an 
unscripted player, "duplicate" and "make a sibling" do exactly the same 

In the case of such a morph, this merely duplicates the Morph. Since there 
isn't a Player uniclass this doesn't have to get copied.

In the case of a scripted player, duplication also copies the Player uniclass, 
making a separate class. This used to be the default for the green halo 
handle. It is now harder to get to for a scripted player; you can do so via 
the red halo menu/halo actions/duplicate.

Make a sibling (olive halo handle) uses the same Player uniclass, if any. So 
changes to scripts or instance variables are shared by all the siblings. This 
is the same thing (and is implemented) as having multiple instances of a 
given class in Smalltalk.

This is now the default for scripted players.

> Apparently the behavior (duplicate) changed between 3.6-3.7 and 3.8. in
> 3.8 this is now make siblings by default.
> I checked a bit and it seems that indeed all the siblings are sharing
> the same behavior and the variables are local to each object.

Yes, this is most often what is wanted.

> So one teacher asked me how to get back the default copy behavior I
> browsed in the halos menus but I could not find that anymore. So what
> is the status of the makesibling/copy behavior? Is copy simply
> deprecated (which makes sense to me).

It's still there in the menu, but 2 levels deep in the red halo menu: "halo 

Also, the "copy" property/command in the Etoy vocabulary creates a sibling.

Ned Konz

More information about the Squeakland mailing list