[etoys-dev] Slots without watchers
K. K. Subramaniam
subbukk at gmail.com
Tue Sep 29 01:29:47 EDT 2009
On Tuesday 29 Sep 2009 6:10:07 am Ricardo Moran wrote:
> On Mon, Sep 28, 2009 at 8:17 PM, K. K. Subramaniam <subbukk at gmail.com>wrote:
> > I expect watchers are only for variables/properties.
>
> I'm sorry but I disagree. I expect watchers for anything that will return a
> value.
> When I ask for the distance to an object I care about the value, so I
> expect to have a watcher. When I ask an object to turn 90 degrees I only
> care about the movement of the object, so I don't expect to have a watcher.
That may be your expectation. I am only speculating on the designer's
intention.
> > With computations, one is
> > not sure about side effects.
>
> I also don't think any of the functions I mentioned above should have side
> effects, so the only reason I found for not having readouts is performance.
Etoys is a prototype-based environment built in Squeak. I am speculating about
designer's intention about readouts based on my reading of the code.
> > There is a bigger issue that will confuse young kids. The viewer has
> > three types of slots - commands, variables and computations but they map
> > to only two
> > types of menu buttons. The "observation" category also includes variables
> > with
> > watchers, so not all relationships are computed :-(.
>
> Maybe I'm wrong but I don't make the distinctions you made (and I don't
> think children do it either). When I work with Etoys I think about
> variables and commands. Nothing more. Clearly, "turn" is a command. And the
> distance to an object, at least for me, is a variable.
In Etoys, "variables" are passive containers of values with getters and
setters, nothing more. It is true that functions computed on the state of a
Etoy can yield varying values but the code seems to treat such computations
differently.
Let us wait for Scott Wallace or one of his "water-cooler" mates to post a
response,
Subbu
More information about the etoys-dev
mailing list