WHAT IS IT?
-----------
This model illustrates how to build a word processor where each of the letters
acts independently.  Each letter knows only which letter comes before it. When
the letters or margins are moved, the letters find their way back to their proper
locations.

HOW TO USE IT?
--------------
SETUP: initializes the margins and text

GO: starts and stops the simulation.  Each letter looks for changes in the
margins and/or being out of sync with its "leader", which the letter before it in
the phrase. If it is not in its proper place relative to its leader, it takes a
step in its leader's direction.  While GO is running, you can click and drag on
the margins and watch the letters adjust.

SCATTER: scatters the letters randomly

SPACING: this slider controls how much space there is between lines. It can be
adjusted during a simulation.

The three monitors display the margin and mouse locations.

The SIM-DELAY slider allows you to slow down the simulation.


THINGS TO NOTICE
----------------
How do the letters find their way home? In what way is this different from the
behavior of letters in a standard word processor?


THINGS TO TRY
-------------
Press GO and try dragging the margins, changing the spacing, or pushing the
scatter button.


EXTENDING THE MODEL
-------------------
Can you extend the model so the user can input his/her own message?

In this implementation, the first letter of a word knows the word's length. Can
you remove this constraint so that each letter figures out for itself whether it
is a first letter and what the length of its word is?


STARLOGOT FEATURES
------------------
Note the use of mouse-down?, and mouse-xcor to move the margins. Both the
procedure move-margins and the sub-procedures move-left-margin, move-right-margin
recursively "listen" for user mouse clicks.

REFERENCES & CREDITS
--------------------
This model is based on a Smalltalk program of the same name developed by Ted
Kaehler of Disney Interactive.