A few random comments from an eToy newbie

Andreas Raab andreas.raab at gmx.de
Mon Apr 7 20:03:14 UTC 2003

> > There are no nil variables, all variables have some concrete object
> > in them, and there is a rudimentary type system (which needs to be
> > done better).
> But this is inconsistent and confusing from a user point of view. 

Actually "dot" really _is_ nil as far as the end-user is concerned (aka:
"dot" is really nil's player representation). The inconsistency you are
referring to is present in some places in Squeak itself. For example:

	| stream |
	stream := ReadWriteStream new.
	stream nextPut: stream next.

will behave exactly like the above (except that "dot" - nil's player - gets
appended in the holder). I think this is more a question of getting used to

> Now you see a dot in it, but its cursor is still at 1. From a 
> programmer/scripter point of view, the "before" and "after" states 
> are the same.
> However, the Holder *looks and acts* different: there 
> is now a dot in it that can be viewed and grabbed, while before there 
> wasn't.

That's not a very logical argument. First you say that from a
programmer/scripter POV the states are the same and then you say that it
looks and acts differently. How else can we observe if two states are "the
same" (no matter what measure you apply) if not from whether it looks or
acts differently? You're thinking data structures, not objects  ;-)

> > Also, I think that one of
> > the original conventions was supposed to be "center of object on
> > grid intersection".  Maybe Scott has some comments.
> That sounds like a good idea, though it's inconsistent with the 
> behavior of the PolygonMorph (which snaps its *origin* to the grid 
> intersections).

Actually I think it should snap to the object's reference point no matter
what this is.

  - Andreas

More information about the Squeak-dev mailing list