SMALLTALK-72
INSTRUCTION
MANUAL
ADELE GOLDBERG AND
~
~
ALAN
KAY, EDITORS
\ \
\
\
SMALLTALK-72
INSTRUCTION MANUAL
Adele Goldberg
The
Learning
Xerox
Palo
Alto
March,
Copyright © 1976
and
Alan
and
Research
Hesearch
1976
by
Xerox
Kay,
editors
Group
Center
Corporation
SMALLTALK-72
INSTRUCTION MANUAL
Adele Goldberg
SSL
76-6
The
Smalltalk-72
Xerox
used for
Small
talk
Small
talk
receiving,
Many
names,
all
of
examples
editing
reading
March,
Interim
interacting
programs.
is
and
classes
arithmetic,
these
basic classes is
that
definitions,
input
and
Alan
1976
instruction
Dynabook.
built.
the
notion
have
already
information
use
these
saving
devices.
Kay,
The
with
the
Chapter
These
include
of
classes
been
given
basic classes.
and
editors
manual
first
Small
III
goes
and
built
storage
in
retrieving
is
intended
two
chapters
talk
deeper
the
method
instances.
for
the
methods,
Chapter
Chapter
files
system
into
user's
IV;
IV also
of
for
use
by
those
consist
and
the
of
convenience.
text
Chapter V then
information,
of
an
for
creating,
basic
evaluation
display,
describes
persons
introduction
concepts
of
These
and
graphic
presents a number
utilities
viewing
with
on-line
to
some
of
editing,
from
messages, message
include
definitions,
which
control.
already
saving
everything
the
various
The
provided
testing
access
the
methods
and
retrieving
sending
clal\ses
definitions
of
interesting
the
user
values,
to
else
the
in
and
for
of
for
and
The
Small
talk
system
with a user
Center
version
This
manual
such,
it
also
maintains a somewhat
references
meaning
files
that
information
access
The
purpose
not
generally
(no
younger
noted
readers
Small
talk
developing
Many
hard
to
implementation
color
Ingalls,
Weyer
of
System
McCreight,
Laboratory.
late
(PARe)
of a
small
is
employs a tutorial
to
peripheral
mainly
are
needed
on
to
the
Small
of
available
than
here.
Because
without
by browsing
their
people
graphics,
develop
Chris
of LRG;
Science
Bob
(both
Jeffers,
described
that
fall.
in
spring
computer
intended
in
the
in
how
to
talk
making
high
school
an
access
own
experimental
from
the
systems
of
the
and
network
Ted
David
Boggs,
Laboratory;
Metcalfe,
It
1973
system)
for
use
style
informal
devices,
context
order
obtain
system
public
is to
through
Small
library.
an
ease
age)
attempt
to
the
the
Learning
described
talk
communications.
Kaehler,
Bill
Mike
here
was
was
released
when
the
became
by
those
that
directs
dialog
such
as a keyset, a mouse, a display
of
the
to
follow
these
files.
instructional
the
distribution
who
is
made
Small
talk
these
pages.
Small
language,
Diana
Bowman,
and
Patrick
Overton,
Preface
designed
for
first
available.
persons
immediate
about
Interim
the
Such
will,
in
to
describe
on-line
Furthermore,
talk
environment.
Research
in
this
real-time
Merry,
Bob
Baudelaire,
Bob
in
the
more
"Interim
with
expected
Dynabook.
suggested
information
manual
of
instructional
fact,
have
materials
Group
manual
We
take
Dave
Flegal,
Sproull,
summer
general
Dynabook"
on-line
experimentation
results
sequence
about a language
access
graphic
and
and
music
space
Robson,
Larry
Larry
and
of
1972
use
at
(a
access
of
such
Furthermore,
for
is
only
information
to
the
results
may
still
the
manual
from
other
accompanying
synthesis,
here
John
Tesler,
Clark,
Chuck
Jim
Thacker
and
first
the
Xerox
name
for
the
to
the
Interim
with a Small
experimentation.
screen,
experimentation
useful
Small
of
gain
groups
animation,
to
Shoch,
'rruett
and a disk,
the
manual
to
those
implemented
to
talk
system
running
some
may
assist
at
PARC)
documents--the
mention
Dick
Thach,
Cucinitti,
of
the
conversed
Palo
Alto
current
Dynabook.
talk
references
and
persons
on a computer
school-age
and
example
information
these
have
retrieval
their
names:
Shoup,
and
Bill
Peter
Deutsch,
Computer
haltingly
Research
working
systemj
There
that
have
disk
provides
having
students
materials
programs,
about
readers
worked
design
methods,
Dan
and
Steve
Winfield
Science
As
it
are
in
and
Ed
iii
TABLE OF CONTENTS
Chapter
I.
INFORMAL
Introduction
To
Get
The
Mouse
Talldng
Helpful
Try
A
Layout
Dialog
A
First
Font
Chapter
Simple
How
GeneraliziIlg
FixiJlg
Saving
Diagllosis
Special
Editing
II.
Manipulation
to
ORIENTATION
Started
to
Smalltalk
Notes
Turtle
of
the
Small
Windows
Note
on
Slnalltalk
Windows
WRITING
of a Simple
Edit
Your
tIle
Defini
YOllr
all{l
Dialog
Retrieving
Window
Cllaracters
........•••....••••.....••••••...••.•••..•...•••••.....•...••.•.•..•••.....•......••••••.
.....••••.•.••.•..•.....•.•••.••...••........••..•.•.•........•....•..................•..
AND
talk
SMALLTALK
Definition
tion
OVERVIEW
Screen
Classes
OF
THE
initial
comments
how
to
load
a disk
is
what
we
point
how
to
evaluate
how
to
handle
make a square
display
how
what
how
to
is a
to
screen
use
some
class
design
SMALLTALK
on
Smalltalk
and
get
Smalltalk
with
...........................
3+4
••••••••••••••••••••••••••••• 2
typing
coordinate
characters
and
other
and a squiral
system
Small
talk
dcfinition
••••••••••••••••••••••• 6
.......................
••• ••••••••••••••• 3
windows
PROGRAMS
Program
......•........•.•..•.....•..•.••....•...••....••.....•.•.......••.•••.
of
Sq
uare
..................................................... 9
•....•...•....•.......•......•.••.............•.•.••
SYSTEM
•••••••••••••••• l
•••••••• 1
errors
.............
••••••••• 5
...........•...•.....•......•••....•.•.....••••.••.••...••................••.....••...•
11rograms
.....•..............•......................................•.....
2
•••••• 2
4
7
10
11
13
14
14
15
Boxes:
A
An
Look
Alternative
Class
Turtles
Boxes
of
••
Owning
Dispframes:
Placillg
Boxes
A
Few
Paint
BI"rBLTing
as
Sketching
Brush
Introduction
at
the
Class
Box
Polygons
I.
I I I
•••••••••
I
•••••• I •••••••••
Turtles
An
In
Text
on
MelIUS
Tricks
to
Small
Box
Definition
talk
..............................................................
....•........•.••••.•...•....•.•••••..............•.•......•••••......•.•••.•
.........•........•...•.•...•.•....•................•.•.•.•....•...•.••.•
...................•.......•...................•••.•..•.....................•.•....•....•.
I
•• I ••••••••••••••
..•.........
trod
uction
the
Display
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
1
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
to
Text
Screen
I
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Display
..............................................
•.•••....•...•••.•..•....................••.•......•.....
.....................................................................................................
.........................................................................................................
.....••..............•...............•....•...•.•..............................•..•••.•...........••
17
18
24
26
27
29
30
30
32
36
40
42
iv
Chapter
III.
THE
SMALLTALK
WORLD
AND
ITS
PRIMITIVES
Objects
Message
The
The
TIle
A
Chapter
The
Basic
Atoms
Ari
Turtles
The
Sequen
Dispframe:
Point
Aids
The
Sllowing
Saving
Saving
Utilities
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••.•.•••••••••••••••••••••••••••••••••
Notion
User
Form
Small
IV.
Sending
of a Class
Task
of
talk
BASIC
System
and
Receiving
•••..•.•••••••••••.•.•••••.••••••••••••••••••••••.•••••••••••••.••
.••••..•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••.•••••••••••
••.••••••••••••••.••••••••••••••
Presentation
Class
Example
of
•.•••••••••••••••••••••••••••••••.•••••••.••••••••••••••••••••.•••••••••••
SMALLTALK
II
II
Classes
SYSTEM
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
••••.••••••••••••••••••••••••••••••••••••••••••••••••••••
CLASSES
AND
UTILITIES
Classes .........................................................................•.......
......•.••.•..•••••..••••....•..•.....•.••••.•....••.•.•.•••.•.....•..••.•....••.••..••......••.•....••.•••.•
tlllTletic
False
Class
for
Interacting
SDlal1
••••••••.••••••••••••••.•.••••••••••.•••••••••.••••••.•••••.••••••••••••••••••••••••••••••••••••••.•
for
Class
tial
Dictionaries
Drawing
..................•.••.•..•.........•..........•••••...•.•...•..•.•.•.•......••.•.•••••.•.•.•
The
••....•.••••..•.•••••....••...•••••.•..•.•...•••...•••••.•••••••••••.•••••.••.••••.•
....•.••••.•••.•......•.•....•••.•.••.••..••.•••.••••..•••.•.•••.•.••.•.•••••••.•
Basic
Window
Class
....•......••••••.••.•.••••••••..•••...•..•••..•••••••.••
.•..••••.•••...••....••••..•.••••.••••...••..••..••....•••....•..•••.••...•.....••••••..•...•••.••..•
talk
Stored
SInalltalk
and
Restoring
with
Class
InforJ11ation
Defillitions
Smalltalk
Edi
tor
Your
...............................................................
.••.....••..••..••••..••.•....•.••..•.•...••.•••..••••.••.••.••••••••...••
..•••••••.•••••••••••••••••.•••••••••••.••.•••••••••••••••••••••••••••.•
.......•........•......•••••...•...........•.••..........•••..••••..•..•
Context
...•....•..•..•.•..........•...•••.•••..••..••••...••.•.••..
.....•.•..•.•...••••.••...••..••.•.•••.••••...........••.•.•.•.•.•..•••.•..••.•••.••.•.••..•••...•••.•..••
44
44
48
51
53
55
56
56
67
60
61
62
69
73
74
74
75
75
76
77
Chapter
Ari
Sequential
Dispfratne
Point
Turtles
Control
A
Classes
INDEX
EXAMPLE
V.
thlnetic:
AInortiza
Dictionaries
SMALLTALK
tion
of
Loans
for
Storage
CLASS
DEFINITIONS
...............•.••...•......•.....••••.......•..•........•
and
Retrieval.
............••.....•.....•.•••.....
...•...•••....•.................•..•••..•........•........•..•..•......•••••....••......•....•••.•....•
Class
TIle
Class
Dictionaries
Rectangle
of
Areas
.......••••..•...•....••••....•.......•............•.•....•..••.••.•.•.....
and
Points
.....................•..•......•...••...•......•..•
...........••••..........................•........•.•....•......•....•......•••.......•.••...•••.•..•.•..•.•
Commallder
Classes
Scheduling
Looplcss
Sal11ple
for
Sirnpllla
A
Text
Buil(ling
Simple
Turtle
for
Repetition
Methods:
Scl1eduling
Editor
........................................•....•.......................•....••.....
Moclels
Style
Silnulation
I-Iospital
.............................................................................
and
Alternate
sched
••.....•••.........••......••..•...••.••..••..•..•...•....••••.•••..•...
and
window
Paths
................................
......................................
.......................................................................
............•.•..•.•.•....•..........•...••.....•.••••.....•..
Simulation
........................................................
.........••.•••.....•.......••..•...••......•....•......................•.............••.................••••....
84
87
90
92
94
96
96
98
102
107
110
117
117
121
124
v
PREPARING A BASIC SMALLTALK DISK
There
save
programming
some
in
exists a disk
on
disk
Small
the
manual:
boxes,
windowfns,
Not
included
These
can
be
on
the
various
following
(included)
animationget
finditget.cm
finditvget.cm
musicget.cm
editfontget.cm
The
format
@<filename>@
To
the
update
archival
your
pack
that
space,
talk
fontfns,
only
system
font
including
files. Also
nwindowfns,
xydic,
are
all
retrieved
frameworks
command
the
the
xfer,
files
onto
.em
for
executing a command
<return>
files,
either
file
system,
retrieve
contains
main
files
the
windowing
included
simpulafns,
xyfns,
your
from
use a Basic
xplot
needed
disk
a disk
files:
a file
the
have.
are
to
run
either
that
file is
Small
named
Basic
Small
been
functions,
files
that
turtlefns,
the
music,
(1)
by
already
talk
disk
talk
System
placed
transferring
on
an
editing
contain
animation,
contains
for
transferring
this
the
the
them,
as
disk.
facility
sampl'3
findit,
files
or
described
These
and
class
and
noted
(2)
by
files, or,
in
this
include
printing
definitions
editfont
in
the
documentation
executing
if
you
have
manual.
the
Smalltalk
routines,
presented
frameworks.
one
of
access
To
and
the
to
If
you
listed
<
smalltalk>smallmanual.cm
execute
above.
it
as a command
file,
your
disk
will
be
updated
with
the
Basic
Smalltalk
disk
files
vi
ORIENTATION
AND
OVERVIEW
Page
1
Chapter
I.
INFORMAL ORIENTATION
Introduction
This
manual
As
such,
it
also
Chapter I demonstrates
includes
Chapter
retrieving
class
definitions,
(the
class
turtle.
attention
class
dispframe,
and a "paint
Chapter
These
classes
Many
classes
names,
all
of
examples
editing
reading
is
intended
it
employs a tutorial
maintains a somewhat
the
use
of
II
continues
Smalltalk
beginning
polygon),
Included
is
III
include
and
arithmetic,
these
that
definitions,
input
in
paid
to
and
brush".
goes
deeper
the
instances;
have
basic
use
devices.
for
some
display
this
programs.
and
this
chapter
the
idea
presents a number
into
method
One
already
information
classes
these
is
basic
saving
use
by
style
informal
of
the
graphics,
introduction
It
then
with
the
continuing
is
of
message
the
basic
of
evaluation
part
describes
been
built
storage
given
in
classes.
and
retrieving
TO
THE
those
persons
that
directs
methods
dialog windows,
by
begins
class
with
definition
of ways
concepts
of messages,
subsequent
for
the
methods,
Chapter
Chapter
files
immediate
dialog
used
demonstrating
specific
box,
then
methods
of
sending
to
user's
IV;
IV
of
SMALLTALK
with
on-line
about
for
and
expanding a box-shape
for
the
set
and
receiving.
place
from
message
presentations
convenience.
text
display,
Chapter V then
also
describes
information,
access
experimentation
expected
interacting
font
editing
methods
instruction
communicating
of
special
text
on
the
which
everything
sending
These
and
utilities
viewing
SYSTEM
to
the
Xerox
with a Small
results
windows.
for
on
symbols
Finally,
screen
of
graphic
presents a number
of
with
the
creating,
the
development
into
with
used
this
and
else
and
receiving,
basic
class
include
control.
already
definitions,
such
Smalltalk
any
instances
chapter
to
in
definitions.
the
provided
Interim
editing,
in
sketch
Small
and
various
The
testing
Dynabook.
talk
experimentation.
system;
saving
of
Small
regular
of
the
Smalltalkj
describes
with a "pen"
talk
the
notion
classes
definitions
of
interesting
the
values,
system;
and
talk
polygon
class
some
the
is
built.
for
user
for
and
it
of
of
To
Get
Place
your
appears
the
information
the
@ is
rectangle
If
back
Interim
@s@
typed
A
you
are
(yellow
Small
@cs@
Started
Smalltalk
light),
of
your
having
Dynabook
<return>
by
holding
(window)
talk
on a color
<return>
disk
press
keyboard).
to
do
operating
down
will
appear
Window
machine
in
with
both
the
machine,
the
"bootstrap"
The
the
system.
the
with
(your
screen
particular
Type:
key
marked
text
in
screen
press
"run"
button
will go
it
background
(the
machine
'SHIFT'
on
the
disk
little
one
blank
for a second
configuration
and
the
has
color
drive,
located
you
'2'
rather
key.
than
and
near
and
are
There
when
where
then
using.
will
white),
the
show
You
be a
you
"ready"
the
are
should
wires
you
talking
flash
light
enter
some
and
type:
to
a
ORIENTATION
The
Mouse
The
little
rectangular
a
mouse.
response
where
In
In
case
of
the
try
is,
press
last
Move
it
to
it.
This
it
is. A
little
Case
to
resort,
of
Disaster
of
any
disaster,
keyboard).
wakeup a "hiding"
the
key
marked
press
the
AND OVERVIEW
object
with
three
around
bit
Try
.while
is
how we
further
first
push
to
put
the
window.
'ESC'
"bootstrap"
watching
point
on
we
the
mouse
while
button
to
will
If
holding
buttons
the
objects
explain
(escape)
cursor
that
doesn't
down
again
that
usually
screen.
on
key
in a displayed
and
the
how
you
(marked
help,
the
keys
go
through
An
screen.
then
sits
arrow
can
ask
'ESC'
window
try
marked
the
to
the
(mouse
Smalltalk
the
mouse
and
located
or,
typing
'SHIFT'
above
right
of
the
keyboard
cursor)
constantly
by
moving
the
in
will
same
the
the
be
"asks"
questions.
upper
mouse
(shift>(ctrl>(escape>.
and
'CTRL'.
sequence.
Finally,
Page
is
called
moving
the
mouse
left
corner
around,
in
That
as
2
a
Talking
If
you
are
the
bottom
message.
so
that
A
small,
test
this,
3+4
The
I
Small
talk
'*'
is
how
355.01113
The
result
Helpful
Small
talk
when
you
cursor
window.
When
yourself
outside
you
To
Small
on
one
of
our
of
the
screen. A white
Move
the
cursor
the
cursor
flashing
type:
travels
image
I
(do
it>
character
that
this
is
the
we
express
the
I
shows a well-known
Notes
will
only
listen
arc
out
of
a window will
of
the
Now
move
the
have
learned
that
the
characters
talk
color
into
into
of
the
is
message
sign
to
window
cursor
to
create
will
machines
rectangle
the
window.
the
rectangular
Interim
marked
for
you
and
.'LF'
you
mUltiplication
number
through
be
typing
into
the
mUltiple
indeed
then
If
Dynabook
on
really
want
and
the
a window
saved
3+4.
window.
windows,
appear
move
the
mouse
(a
Smalltalk
on a black-and-white
frame
at
will
the
upper
it
to
in
Small
accuracy
when
until
you
You
will
The
you
only
in
the
so
dialog
the
bottom
appear--this
right
do.
Now
talk.
Try:
of
Smalltalk's
the
place
the
not
see
characters
might
window
that
the
window)
machine,
of
the
means
of
your
try
the
cursor
cursor
the
'3+4'
repeat
containing
cursor
will
screen.
Smalltalk
keyboard.
following:
fractional
is
in
it.
in
a window.
characters
will
this
experiment
the
travels
appear.
simply
It
arithmetic.
Any
appear
appear
cursor.
all
the
It
contains
move
the
is
listening.
is
used
characters
Try
taking
in
the
in
the
to
prove
way
off
mouse
To
to
tell
typed
the
dialog
window.
to
a
Once
wakes
Small
you
up
talk
start
again.
will
typing
So,
continue
characters
if
you
inadvertently
to
listen
in
a window,
in
that
Small
move
window.
the
talk
will
cursor
wait
for
out
of a window
you
to
type!
while
before
you
any
are
window
typing,
ORIENTATION
AND
OVERVIEW
Page
3
Deleting
your
If
it»,
To
(backspacing)
keyboard.
you
inadvertantly
a diagnosis
see
this,
mumble
make
windo~
try
typing a symbol
I
A diagnosis window will
not
flash.
context.
To
Once
a diagnosis window
get
back
to
done!
or
the
shorter
form:
<ctrl> D
typed
by
striking
the
'0'
Try A Turtle
Turtles
where
are
they
little
have
beasts
been.
of
unwanted
an
error
will
appear
appear.
your
previous
key
while
which
Smalltalk
characters
of
with a message
for
which
Note
that
appears,
context,
holding
crawl
around
line
drawings
some
Small
down
the
on
is
kind,
talk
prompt
it
either
the
the
are
done
which
that,
does
listens
key
screen
done
with
is
at
not
character
to
type:
marked
with
the
'BS'
then
sent
this
point,
yet
have a meaning,
(the
you
until
'CTRL'.
and
can
leave a variable
turtles.
key
to
will
Interim
located
Small
probably
you
return
on
the
talk
by
be
such
as:
Dynabook
to
width
upper
right
saying ! «do
obscure.
image)
your
does
previous
tracing
of
of
Small
talk
One, ®
marked
Small
As
(such
talk
with
(called
'SHIFT'
all
as
reasonable
® go
® is
®
turn
To
redo a previous
redo
where
11.
is
are.
If
you
Small
talk
statement,
redo!
can
have
many
"smiley"),
and
than
it
does
Small
talk
"go forward
questions
100!
1.!
90
go
lOa!
statement,
11.
!
the
number
type: redo
and
another
simply
type
turtles.
has
already
the
'2'
key
in
the
Interim
objects, ® can
some
number
(such
as
"what
type:
of
transactions
I!
at
this
line
will
be
the
equivalent
Each
is
created
been
created
(Le.,
the @ sign
Dynabook
receive a variety
of
steps",
kind
of
thing
(visible
point,
drawn
the ® turn
on
statement:
as
for you.
which
operating
"turn
are
A
vertical
? is
'SlIIFT'
Is
the
Did
images
the
display
an
instance
It
has a different
system).
of
messages
some
you?",
what
typed
answer
of
"where
line
holding
and
'6'
happened
the
Interim
90
go
screen.
of a group
is'
typed
asking
number
are
should
appear.
down
both
keys.
(turtle)
reasonable?
make
Dynabook)
lOa! message
If
you
by
holding
printing
it
of
degrees",
you").
the
sense?
want
or
to
do
Type:
should
class
back
to
we
call
down
both
representation
"turtlelike"
...
),
and
from
where
be
re-sent
redo
the
previous
turtle.
the
key
things
answer
you
in
to
ORIENTATION
Try
® erase home!
do
4
(®
go 100
® erase home.
for
i
~
1 to
The
text
line
change
the
message
in
the
practice
the
period
message
text
to
to
home.
window.
include
signifies
Smalltalk.
200
periods
AND
turn
do
(@
in
the
This
The
the
OVERVIEW
90)
!
go
i*2
turn
above
transaction
"carriage
period
when
end
return"
is a delimiter,
stringing
of
the
89)!
does
together
message,
Clears
turtle
and
Will
To
is
obtained
not
affect
signifying
you
still
the
screen,
to
its
center
points
the
turtle
make a
square
get a "squiral".
by
pushing
anything
the
end
several
need
complete
to
brings
the
position,
upward
the
key
except
of a message.
messages.
type
! <do
marked
the
appearance
it>
It
Note
to
actually
is
'RETURN'
of
the
generally
that,
although
send
Page 4
after
text
good
the
Notice
The
hence
and
of
up)
You
the
counter
is
Layout
that,
window
erased
then
the
turtle
whenever
have
number
used
to
back
also
(in
help
of
has
of
the
as a result
much
drawing
The x direction
direction
original
runs
window)
Small
talk
0,0
of
not
been
destroyed.
of
the
window
into
the
remembered
that
overlaps
the
text
scrolls.
just
used
two
times a message
above
example,
determine
the
runs
from
is
display
the
Smalltalk
from
top
to
bottom.
680.
screen
X
------)
the
Small
distance
left
above
messages,
Merely,
information.
window
the
talk
iteration
should
the
counter
the
Screen
to
right.
The
512,0
area,
window.
be
evaluated.
is
turtle
The
left
top
margin
the
®'s
drawing
None
refreshing
Any
methods:
i)
can
will
hand
is
black
of
that
turtle
In
be
used
travel).
margin
0,
the
frame
area
information
the
lines
do
and
the
more
as
part
is 0,
bottom
around
overlapped
window
for.
inside
display.
the
Each
general
of
the
the
right
one
(at
the
window
with
is
lost.
window
is a
method
message
the
the
hand
lower
has
window
Move
This
erases
will
method
for,
(in
one
boundary
disappeared.
area,
the
cursor
any
scroll
for
counting
the
iteration
the
example,
is
512.
and
off
part
(move
The
of
the
i
;y
Now
0,680
say
to
the
® erase!
® goto
100
------------
turtle:
100!
y
v
512,680
Is a
line
drawn
to
the
top
left
quadrant?
ORIENTATION
Type
mx.
Then,
before
!
AND
typing
OVERVIEW
the
!,
place
the
cursor
somewhere
in
the
screen
and
type:
Page
5
Similarly,
my
I
Smalltalk
coordinates
rID
goto
and a line
simple
drawing
repeat
Move
the
repeat
marked
window.
Try
forever).
'ESC'
rID's
The
'5
is
typed
A
more
involved
width,
and
try
should
of
the
mx
should
(@
mouse
in
width
by
erasure.
send
mouse
my!
be
drawn
program
goto
mx
and a trail
To
escape
the
upper
~
3.
repeat
striking
drawing
More
you
cursor.
to
can
be
my)!
will
from
left
(@
the
program
about
back
Now
the
written
be
the
hand
goto
key
might
drawing
reasonable
type:
cursor
by
left
behind.
loop
corner
mx
my)!
marked'S'
use
programs
numbers
position.
saying:
You
and
to
of
while
the
buttons
You
are
get
your
holding
later.
for
have
in
an
Smalltalk
keyboard
down
on
the
m(ouse)x
hooked
"infinite"
to
listen
and
the
key
mouse
and
up
loop
move
marked
to
control
the
to
you
the
m(ouse)y,
mouse
(the
®
again,
cursor
(CTRL).
the
turtle's
to
goto
press
back
the
the
mx
display
turtle.
my
the
into
ink
A
will
key
the
color,
Dialog
All
communication
editor
for
kind
of
painting
editor
allows
Every
window
particular
pictures,
retrieval
For
example:
a.
Move.
the
top
button.
button
window
b.
window
the
method
in
corner.
Now
will
physical
for
point
Windo,vs
that
object
and
the
character
can
kind
of
text)
is a
and
editing.
Move
the
The
order
to
the
reappear
display
pushing
to a Smalltalk
(you
have
drawing
defining
be
moved,
window
with
document
cursor
window
find
cursor
screen;
them
the
somewhere
in
the
out
into
should
actual
new
however,
of
object
just
been
aid;
the
dots
stretched,
which
which
can
the
upper
go
corner.
else
position.
the
way
using
editor
to
and
you
be
blank.
The
on
the
until
is
be
left
The
other
done
through
a
dialog
for
easily
deleted
are
dealing. A collection
automatically
hand
You
tip
of
the
screen
upper
parts
needed
window).
a
paragraph
changed;
from
corner
may
have
the
cursor
and
left
of
again.
the
archived
corner
the
windows
The
of
and
so
screen.
of
the
to
playa
(the
push
of
window
which
editor
text
handles
forth.
Other
of
related
in
many
window
little
upper
the
top
the
window
can
contain
different
you
left
button
be
slid
for
a
picture
characters;
abilities
windows
are
in
while
corner)
briefly
can
off
the
most
depend
ways
and
holding
must
not
be
the
display
useful
object
(containing
press
again.
the
on
for
down
down
be
in
forced
is
font
the
later
the
the
The
off
as
a
a
ORIENTATION
c.
Grow.
due
The
position
wide
d.
Create.
existing
will
e.
Position
f.
Delete.
dialog
to
the
next
will
or
32
dialog
appear
window.
Now
move
previous
button
coincide
units
A
new
window
in
the
the
cursor
Any
high.
dialog
For
AND
move.
push
dialog
upper
obvious
OVERVIEW
into
the
do
another
will
change
with
the
window
(pointing
left
portion
inside
the
window
reasons. a single
lower
cursor.
new
can
right
move
the
will
the
of
window
be
corner
further
boundaries
Try
it.
be
created
cursor
the
display
deleted
and
and
remaining
in a similar
to
the
of
the
You
can
for
pressing
screen.
try
typing
by
grabbing
manner.
left
to
window so
not
grow
you
by
the
3+4!
its
dialog
get
the
the
grabbing
top
mouse
.
top
right
window
(If
right
that
window
corner.
can
the
corner
hand
the
the
lower
b1\tton).
not
new
smaller
Try
be
deleted.
is
side
lower
left
The
it
off
the
visible
right
than
corner
new
with
Page
screen
again.)
corner
32
units
of
window
the
new
6
an
Try
overlapping
of
all
other
Each
new
each
window
dialog
cursor
cursor
about
Small
A
First
Every
with
of
Every
example,
lines
replies)
entity
each
objects
object
on
I
Move
I
I
I
Create
windows.
dialog
window
could
blink
location
talk,
Note
other
to
receive
belongs
is
an
the
display
for
every
windows.
as
it
is
is
you
in
Small
by
object.
window
is
created,
to
have a new
on
and
the
place
might
on
Small
talk's
sending
messages
to a class
It
screen.
object
which
The
window
appears
the
off,
waiting
to
put
make
talk
world
and
receiving
and
(a
is a
member
The
belongs
Delete
Grow
that
in
the
windows
window
for
the
this
change
Classes
is
called
produce
method
of
class
handles
to
sees
upper
will
appear
you
new
dialog
to
an
object.
messages.
replies.
for
grouping
the
class
it.
the
mouse
left
portion
pile
on
top
at a location
to
press a mouse
window.
your
personal
Objects
Each
example
together
turtle.
all
communication
cursor
of
of
Later
Small
can
All
wakes
the
display
one
another.
pointed
button
on,
talk
remember
we
present
objects
members
(receiving
up
to
by
to
after
system.
that
of
and
displays
screen.
Another
the
mouse
indicate
you
have
things
demonstrates
do
similar
this
class
messages
itself
Unless
way
to
cursor.
that
the
learned
and
communicate
things).
are
able
and
on
you
move
define
The
present
more
the
ability
®,
to
draw
producing
top
a
for
We
have
pointing
the
message
class,
capturing
editor
or
for
just
been
with
the
by
deleting
and
editing
designing
looking
mouse
moving
(erasing
display
at
cursor
to a new
itself
Smalltalk
characters.
members
and
screen
from
messages.
of
pressing a mouse
location,
the
the
class
screen).
The
next
window.
button.
changing
The
example
Messages
Each
its
size,
objects
is a
are
sent
member
creating a new
are
font
of
dialog
window
the
windows,
to
class
member
which
a
window
responds
capable
contains
of
by
to
the
of
an
ORIENTATION
AND
OVERVIEW
Page
7
Font
Type
fUin
while.
You
white
design
mouse
cursor
in
that
A
newly
font
is
created
Editing
is
the
The
now
have
dots.
of
the
cursor
to a dialog
dialog
created
window
only
Windows
filin
'fontfns'l
Small
talk
display
routines
These
display
in
a
font
window,
window.
fontchar!
window
can
be
by
typing
I
move
I
I
I
change
I
baseline
method
screen
for
windows
characters)
window,
Type
appears
moved,
the
for
is
purposely
creating
contain
you
can
deleted,
message
reading
turned
windows
magnified
can
be
you
can
immediately
in
the
upper
and
fontchar.
delete
change
width
messages
off
in
described
draw
in a character
left
its
size
stored
(becomes
which
views
as a matrix
view
font
corner
changed.
editing
of
display
changes
of
on a disk
blank)
means
characters.
of
font
the
display
Unlike
to
speed
drawing
black
of
your
within
dialog
file.
Reading
up
the
reading
in a matrix
Any
character
and
white
own
choosing.
the
!;!ontext
screen.
Like
windows, a new
the
dots.
of
text
dialog
file
takes
process.
of
black
font
Using
Moving
displayed
windows,
font
window
a
and
(the
the
the
a
Four
actions
button.
1.
Move
the
a
new
position
2.
Delete
3.
Change
adjustment,
lowering
line;
boundaries
change
4.
right
and
5.
in
through
black
location
dots
the
no
only
Change
corner
may
not
Drawing
the
window
the
dots
in
as
long
are
window.
the
the
up
baseline
lower
will
appears
the
and
exceed
black
matrix
appear
the
as
taken
on
the
window.
baseline
or
down,
limit
cause
in
width
then
16
and
and
pressing
dots
in
window
the
mouse
by
pointing
Point
display
Point
of
creates
exists
Small
the
of
the
to
the
dots,
white
as
any
area
and
button
to
the
screen
to
the
of
the
subscripts.
with
talk
to
printed
window
new
so
it
dots.
the
bottom
long
as
con
pressing
to
one
upper
and
press
the
upper
character.
character's
the
exception
crash.
text.
(and,
right
margin.
may
not
Black
mouse
the
mouse
taining
the
is
pressed;
of
the
left
right
Point
The
Note
Move
appear
dots
button
the
middle
white
corners
corner
the
top
corner
to
baseline.
upper
thn t an
that
the
the
cursor
thereby,
The
exactly
are
button.
black
mouse
dots
of
and
mouse
and
the
limit
attempt
font
into
the
width
at
painted
The
is
pressed.
lines.
button.
appear
a
font
press
button.
press
lower
Raising
is
the
window
the
width
is
rounded
the
into
drawing
White
when
window
the
top
the
left
the
baseline
to
dialog
of
the
mouse
the
technique
As
soon
dots
White
the
and
mouse
top
mouse
corner
print
appearance
matrix
and
baseline
of
the
outside
window
matrix).
to a multiple
cursor's
by
is
as
the
are
painted
lines
are
button
pressing
button.
button.
then
creates
previous
the
docs
to
see
Point
of
arrow
pointing
to
scratch
button
by
written
is
released.
the
top
Then
to
the
superscripts;
text
display
not
change;
the
change.
to
the
16
display
head.
to a location
black
is
released,
pointing
through
mouse
point
relative
display
screen
the
lower
bits
lines
the
to
the
to
a
ORIENTATION
6.
New
characters.
period,
keyboard,
'.'.
the
To
desired
change
AND
When
the
character.
OVERVIEW
the
window
character,
place
is
first
the
created,
mouse
the
cursor
character
inside
available
the
window
for
and
editing
type,
Page
is
on
8
the
the
Once a new
where
(filename>
The
font
of
To
read a saved
For
example,
The
font
of
If
you
have
Other
Small
font
filfont
filfont
the
dialog
font,
filfont
filfont
the
dialog
stB.al
made
fillont
talk
has
been
<filename>
is
some
'myfont'
window
type
<filename>
'myfont'
window
changes
'stB.al'
fonts
include
designed,
out!
name
delimited
out!
in
which
in
!
in
!
you
but
would
in!
st6.al
it
is
saved
you
received
like
to
and
stlO.al;
by
single
are
when
return
on a disk
quote
currently
you
first
to
the
each
file
can
by
typing
marks.
typing
started
original
be
retrieved
For
example,
is
the
working
(default)
one
from
that
will
is
stored
Smalltalk
the
archival
be
saved.
on a filed
font,
type
file
named
system.
The
font
of
the
<filename>. rl'he
typing.
order
to
dialog
font
to
replace
windows
window
Note
have
one
however,
two
of
(A
will
fontchar
Recall
The
copy of
Results
the
which
The
now,
Warning:
character
used
that
class
the
of
original
window
use
of
assume
with
the's
fontchar,
value
editing
font
is
the
name
their
some
used
to
this
font
dialog
font
font
the
dialog
and
appear
font
is
typed
upon
following
the
new
window
used
for
disp
use
for
fonts
mark
editing
window
you
edit
that
each
windows
window's
B)
and
in
both A and
disp's
by
stiking
receiving
the
font
will show
typing
and
the
have
the
black
system.
in
is
editing
suppose
font!
message
window
the
the
above
no
definition
which
the
one
dialog
the
the
window
separate
font
you
B.
key
message
font
will
only
in
filfont
message's
redefinition
t.
dots.
Any
you
are
currently
currently
is
created
fonts
with a copy
type
fontchar!
Now
type
marked'S'
font,
(in
this
then
show
B.
Choice
message.
are
described
of a dialog
for
the
font
without
belonging
for
each
of
itself.
in
in
window
while
will
replace
case,
in A and
of
which
in
character
this
typing
with
with a copy
window
to
the
references
of
two
For
window
A
holding
the
not
fonts
more
font.
whose
character
will
in
detail
change
dialog
dialog
example,
A.
Results
down
the
font
for
of
B;
moreover,
are
saved
in
Ascii
properly
to
the
window
to
the
identical
windows,
suppose
of
key
marked
dialog
the
font
will
subsequent
code
is 31.
defined
font
saved
in
which
it
editing
window A with
possessed
results
depend
you
font.
is
necessary
there
are
the
(CTRL>.
of
solely
sections.
This
can
single
by
editing
is
not
on
are
In
two
a
A).
on
For
the
be
WRITING
SMALLTALK
PROGRAMS
Page
9
Chapter
Simple
To
hand
(The
II. WRITING SMALLTALK PROGRAMS
Manipulation
an
object
@='
is
typed
d!
The
meaning
Each
object
we
might
@='d
Thc
new
In
these
indicates a desire
Previous
make
that
to
give a
objects.
(or
in
Small
say
~
turtle!
meaning
examplcs,
turtle
definition a Small
name
So we
'd'
the
as
<shift> ' ).
value)
talk
(or
value)
we
to
give
examples
to
the
need
to
of a Simple
meaning
of d (which
can
use
the
showed how we
actions
say
something
'3'
If
you
only
have
of d (which
the
symbol
name a meaning.
talk
object,
which
Program
in
Smalltalk,
now say:
is a
number,
one
meaning.
is a turtle)
GT
to
can
get
use
it,
cause a square
similar
to
we
3)
will
will
indicate
a
turtle
change
what
say:
be
returned.
To
change
be
returned.
that a literal
to
draw a square.
it,
save
it,
to
be
drawn.
was
just
said
the
and
to
meaning
name
Now
retrieve
In
Smalltalk,
d.
Type:
of
the
follows.
we
need
it.
To
object
The
to
do
this
actions
named
arrow,
be
able
we
are
'd',
+-,
to
need
also
to
square
(do
This
will
cause
symbol
are
Erase
to
enclosed
the
screen
® erase
Then
say:
square!
The
stored
turtle
to
go to
to cl
Now
only 3 characters
el!
rather
than
4
(@
(rather
in
home
actions
home
(®
13.
go
100
turn
Small
talk
than
the
parentheses.
and
bring
!
will
be
can
also
erase
home)
have
90))
to
give
hand
~)
the
turtle
invoked.
be
abbreviated:
!
to
be
!
the
indicates
back
The
typed:
actions
to
commonly
do
the
home
4{®
desire
position
used
go
100
to
actions
give a
by
saying:
turn
of
90)
the
name
clearing
to
name
some
the
square.
actions;
screen
and
Here,
the
actions
telling
the
the
WRITING
Now
type:
dels!
A
list
of
the
contains
the
SMALLTALK PROGRAMS
names
names
square
of
and
user-defined
cl
should
be
programs.
typed
back
at
you.
dels
is a kind
of
"bushel
basket"
Page
which
10
How
In
An
The 0 stands
to
any
dialog
edit
editing
do 4 ()
Edit
square !
window
® go
Actual
see
top
to
bottom
You
parentheses
the
message
button
right,
buttons;
should
on
rather
see
® go
Place
the
cursor
backed
up
to
Your
window,
for a parenthesized
100
turn
within
the
than
the
the
100
tu.rn
on
the
next
Definition
type:
with a command
90
never
show
the
mouse.
vertically,
left
button
message
90
the
word
higher
menu
message
in
the
parentheses,
(Note,
as:
some
top
corresponds
'Leave'
level
of
will
appear.
which
editor,
to
in
parentheses.
only
point
the
versions
bottom.
to
the
menu
The
in
this
the
cursor
of
the
Henceforth,
the
top
and
"method"
case
contains:
marker
at
the
mouse
button.)
press
()
indicating
word
have
we
will
the
top
of
square is
'Enter'
buttons
refer
mouse
levels
in
the
laid
only
button.
shown
of
parentheses.
menu
out
horizontally,
to
top,
as:
and
middle,
You
push
have
To
the
left
and
now
We
will
object
pointing
button).
Grab
Now
color
Grab
more
will
expected.
You
(word,
'Enter'
let's
to
'100'.
elements
also
50!
will
® go
use
at
is
change
show
The
reverse
Type:
now
50
the
word
icon)
really
again.
the
that
top
beginning
color
see:
turn
"grab"
and
pushing a button
the
one
we
100
to
a
the
selection
half
will
at
'100'.
and a prompting
90
to
stand
mean.
50
in
is
understood.
reverse
for
the
on
(Unless
the
definition
color.
This
We
only
want
Interim-Dynabook
compound
the
mouse
specifically
of square.
means
one
element,
operation
to
tell
stated
Grab
that
'Replace'
image
the
to
the
'Replace'.
so
grab
will
of
positioning
system
contrary,
expects
'100'
appear,
that
the
push
It
will
reverse
you
again.
indicating
the
to
The
cursor
object
the
top
its
replace
bottom
that
on
we
mouse
display
one
typing
an
are
or
half
is
WRITING SMALLTALK
Now
grab
'Exit'
to
terminate
context.
and
A
square!
one
Note
Say:
of size
on
Editing
'50'
will
be
drawn.
PROGRAMS
the
editing
So
the
"meaning"
context.
You
(or
"actions")
will
be
returned
of square
to
has
the
been
previous
changed.
Page
11
Smalltalk
There
Once
dialog window. Also
window,
do so we
We
are a number
menu
word,
or
pointing
for
already
lose
'Add',
you
any
the
'Insert',
received
have
previous
the
Generalizing
Now
suppose
can
square
must
now
First
say:
have
cursor
'Leave'
outside
nor
the
selected
edits.
the
we would
give square a
150
!
change
show square !
to
remind
yourself
what
to square
(do
4
(@
go
50
of
ways to
not
completed
'Exit'.
Interim
the
Pressing
note
and
'Enter'
Definition
like
"message"
the
definition
the
turn.
90))
terminate
the
the
editing
If
you do
DynaboQk
phrase, a replace
the
that
if
commands
to
make
current
an
selection
window
not
prompt
'ESC'
there
is
of
Square
square
saying
of
square so
definition
editing
and
want
command
key
more
expect
more
what
of
sequence
of a
phrase
pushing
to
complete
character,
takes
than
you
to
general,
the
size
that
it
square is.
to
the
just
cannot
you
one
parentheses
point
so
should
can
We
before
replace
top
an
type ! (i.e.,
be
terminated
out
of
at
the
that
be
receive
see:
completion.
or
mouse
add
or
the
edit
marker
appropriate
it
will
this
time,
the
message
delete,
button.
insert
unless
window
draw
such
If
you
This
command,
insert
displayed
marker.
squares
as:
and
you
grab a wrong
can
terminate
docs
or
add
you
are
and
back
in
of
any
act
accordingly.
not
work
but
have
nothing).
willing
to
the
the
edit
size.
by
to
To
It's
clear
definition
Suppose
the
give
number
to square
Now we
request
So we
want
that
(having
there
is a way
particular
will be.
(do
4
(©
go
just
need
to
"receive
to
we
want
4 sides
to
value a "name"
Let's
call
size
turn
to
get
the
value
add
to do
something
and
turning
receive a value
it
size.
90))
square
of a
90
in
order
Looking
to
receive
message"
with
degrees)
from
the
to
talk
above,
the
is
expressed
the
describe
message.
about
we
see
value
place
where
squares
The
it
since
that
size
of a
message
by a colon
50
in
general.
value
we
don't
should
and
is.
Everything
needs
know
replace
call
to
be
beforehand
the
it
size.
some
50
In
else
number.
:
Small
about
what
talk,
the
We
the
the
WRITING
SMALLTALK
PROGRAMS
Page
12
~size
to
the
beginning
edit
Grab
'Insert',
cV-size
Careful--the
message
inserts
'ro
and
before
replace
® go
Grab
'Replace'.
and
ending
size!
Grab
'Exit'.
show
of-
:.
square!
grab
of-
:.!
period
then
the
the
50,
50
tu.rn
You
of a
phrase
You
square!
of
square.
'do',
is
invoking
selected
grab
90
want
are
no
Say:
type:
necessary
an
element.
'Enter'.
to
replace
to
be
replaced
longer
here.
action
You
talking
It
helps
for
should
the
'50'
by
new
to
the
to
separate,
producing a response.
see
so
grab
'50'
text).
editor.
Now
Type:
and
type
in
one's
grab
the
mind,
Note
'50'
new
again
text
the
sequence
that
the
(indicating
of
'Insert'
the
receiving
command
beginning
a
to
see
what
to
(G?size
Then
try
square
square
and
so
on.
The
colon
meaning
actions
taken
square 150+20!
Smalltalk
the
next
object
size
The
(in
is
the
definition
you've
done.
square
of-
:.
do
4
(®
go size
sending
turn
several
ISO!
10!
expresses a request
of
the
next
object
by
the
next
runs
the
definition
object,
the
number
this
case,
the
sum
17
O.
of square is obviously
It
should
90))
messages
to
(for
object.
of
150.
number
look
to
draw
Small
example,
For
square.
This
20),
working
like:
different
talk
to
the
example,
When
number
and
performs
fetch
number
try
it
but
squares:
the
sees
sees
the
the
is a bit
next
10).
the
colon
plus
addition.
untidy.
value
in
But
the
in
(r:Jrsize ~ :.),
sign
(+),
The
To
see
the
value
fetches
value
why,
message.
can
also
Small
the
returned
type:
The
be
talk
value
as
value
the
result
"activates"
of
the
the
value
is
next
the
of
of
size!
WRITING
The
value
of
for
the
size
uses
it.
To
after
the
name
SMALLTALK
the
last
size
of
do
square
this
we
square
belongs
only
in
PROGRAMS
you
gave
to
everyone.
need
the
"title"
square will
to
tell
square
part
of
It
is
the
be
returned.
much
that
size
definition.
better
This
for
belongs
Say:
shows
size
to
to
it
that
belong
by
putting
the
"name"
only
to
the
of
the
name
the
object
size
Page
13
message
which
right
edit square
square's
you
were
title
to
size!
Grab
'Exit'.
show
square!
You
should
see:
to square size
(eg-.
do
(@
Later,
make
to
when
our
exhibit,
story
in a general
square < number> 1
means
might
be
the
object
title!
line
'Enter'
Type:
size ~ :.
4
go size
more
more
will
be
(),
you
turn
of
the
compact
way,
square
shown
would
90))
Small
and
what
expects
as
well
see
talk
clear.
has
anything
as
the
definition
system
For
to
be
0,
the
marker
itself.
has
been
explained,
example, a short
said
to
get
results:
which
evaluates
representing
Instead,
we
will
way
to
to a number
the
gra-b
'Insert',
adopt
talk
about
as a message.
body
of
grab
some
this
the
program
definition.
0,
type:
abbreviations
would
An
example
If
to
be
square
Here,
the
example
floating
number
fetching a value
evaluated
expression,
second,
10
or
20
Fixing
You
can
edit a named
fix
30.4+(
colon
demonstrates
point
number
for
the
which,
the
and
the
- 5 +
21
- 2 *
3!
Your
edit
the
definition
n !
111.
7*65.
in
(~size
the
left-to-right
30.4
augend.
from
in
multiplication
addition
the
turn,
last.
However,
sees
Dialog
command
(described
789
~
:.)
which,
message.
the
is
Try
lines
)/99!
fetches
in
turn,
the
division
carried
response
response
(or
statements)
in
the
the
result
method
arithmetic
As a result,
for
sees
sign
out
first
is
3,
is
14,
previous
the
not
of
the
expression
receiving
plus·
is
the
and
(because
7
not
54
in
the
section).
messages;
sign
right
associative.
floating
requests a divisor
of
dialog
To
30.4+(111.7*65.789)/99.
that
and
attempts
point
the
explicit
window
fix a previous
is,
Small
to
receive a floating
The
augend
number
(the
99.).
parentheses),
in
the
same
command
talk
is
(111.7
Hence,
manner
line,
first
sees
obtained
*65.789)
in
the
division
that
type:
This
the
point
by
is
this
you
WRITING
where
n is
are.
An
editing
terminate
Small
talk.
SMALLTALK
the
number
window
the
The
with a command
editing
line
context.
in
of
transactions
the
dialog
PROGRAMS
(visible
menu
will
This
causes
window will
the
images
appear.
edited
not
be
of
the
line
altered.
Interim
Arter
to
making
be
sent
Dynabook)
changes,
and
evaluated
back
from
you
as a message
grab
Page
where
'Exit'
14
you
to
to
Saving
Type:
and
defs!
again.
square
filout
such
as:
filout
The
screen
To
test
whether
square
This
will
generate
a
"clean"
Diagnosis
The
complaint
(1)
to
provide
arrow
Jo+,
to
Retrieving
and
(some
'mysquare'!
will
go
you
100!
version
Window
is
the
the
object
cl
will
name
blank
actually
a
diagnosis
of
Small
stated
name
Programs
still
be
in
single quotes>!
for a second.
saved
window
talk,
one
in
a
diagnosis
of
the
program
causing
the
there.
them,
in
problem.
To
save
go
with
which
window.
in
everything
through
the
complaint
square
which
the
has
Small
the
in
defs,
"To
get
that
not
been
talk
attempts
complaint
type:
started"
"square
defined.
occurred,
to
has
state
sequence
no
value".
the
and
(2)
again.
complaint
to
Then
We
point,
try:
are
now
and
then
with a big
in
In
the
are
within
still
at
Small
talk.
context;
higher
cause
of
c !
you
see
Type
done!
to
get
context
the
the
"top
Each
after
level
of
complaint.
the
next
or
out
of
of
the
context
level"
attempt
completing
context.
higher
(ctrl> D
the
diagnosis
diagnosis
of
the
of
It
Each
level
window, you
object
Smalltalk;
by
one
the
evaluation,
is possible
time
you
of
context.
window.
in
which
that
object
to
type
is,
to
you
trace
can
type
the
complaint
the
context
evaluate
return
back
any
another
to
the
from
Smalltalk
occurred.
is a
global
object
object
the
current
messages.
that
In
the
one
for
takes
you
requested
context
The
above
all
one
the
in
order
value
example,
objects
level
evaluation
to
of
objects
we
defined
lower
at
locate
are
in
in
its
the
WRITING SMALLTALK
Now
type:
filin
'mysquare'!
After
a few
The
Type
seconds,
square 1001
result
shows
size!
that
try:
you
have
~ROGRAMS
retrieved
your
program.
Page
15
You will
square
that
Special
Small
talk
Small
talk
to
adults
typical
use:
Grjoe
(meaning
directly
This
distinction
Paris
We
shouldn't
Paris
but
rather:
'Paris'
get a complaint
uses
it.
The
Characters
uses a number
students
is
usually
the
at
the
is a
has
has
literal
symbol
exists
large
say:
five
five
to
(").
letters.
letters.
object
help
The
symbol
itself.
in
English
city
in
that
of
special
remind
children
'joe'
France.
"symbol
size
has
them
rather
also.
has
no
value
"iconic"
of
important
preferred
than
We
can
no
value"
in a more
characters,
to
what
say:
because
global
distinctions.
use
(@:»
or
who
now size
context.
many
of
An
to
signify a literal
'joe'
may
only
which
example
stand
belongs
were
is
for)--the
invented
"quote"
symbol,
to
hand
the
by
whose
since
object
some
sign
in
its
points
to
indicate
the
literal
word
rather
than
the
city.
WRITING SMALLTALK
PROGRAMS
Page
16
Keyboard
(Note,
presents
Equivalents
there
the
methods
To
-------
!
~
<t
0
0
n
=>
1t
®
0
?
's
done!
~
~
$.
%
@
!
$
are
Get
usually
most
You
several
commonly
Type
--------
LF do
<shift>
<shift>
<ctrl><shirt>;
<ctrl>
<shirt>
<shift> 1
<shift>
<shift>
<ctrl>
<ctrl>
<ctrl>
<shirt> <ctrl>
<ctrl>
<ctrl>
<ctrl>
<ctrl> 2
<ctrl> 1
<ctrl> 0
<ctrl> 4
'
5
k
/
2
7
1
s
d
<
>
=
v
ways
to
used.)
We
Call
-----------
it
hand
eyeball
keyhole,
if
...
return
smiley
unary
less
greater
not
percent
"at"
explana
double
dollar
type a special
It
(look
for)
"peek"
then
minus
than
or
equal
than
or
equal
sign
sign
tion
quote
sign
sign
equal
keyboard
character.
The
following
table
Summary
<esc>
<ctrI> D
c
<shift> <esc>
fix
redo
of
Special
<number>
<number>
Dialog
Escape
blinking
Assuming
window.
While
values
Creates a sub-dialog
operation
window you
Enters
is
<number>
Re-sends
<number>
Window
to
the
"top
the
prompt
you
have
inside a diagnostic
so
you
can
investigate
of
the
current
can
type
the
Small
talk
transactions
Small
talk
transactions
Operations
level"
or
Small
talk;
character
entered a diagnostic
window,
the
cause
window
any
editor
the
window
Small
for a
back
message
back
from
within
until
talk
command
from
on
where
should
changes
of
an
the
current
you
message.
where
you
command
youare
return
window,
the
error.
dialog
type
line
in
are
line
currently
you
returns
context
window,
<ctrD
the
dialog
currently
<number>
typing.
to
the
you
of
D.
window.
typing.
dialog
to
names
suspending
Within
where
the
and
the
The
the
window
dialog
their
the
sub-
line
line
is
WRITING
SMALLTALK
PROGRAMS
Page
17
Boxes: An
First
get
the
box
filin
'boxes' I
After
a few
blinks
Type
to
Smalltalk:
~joe
<f-
A
small
box
member
"boxness",
joe
and
and
joe
will
joe
of a
particularly
grow
get
joe
turn
grow
bigger.
Introduction
programs
they
will
box!
will
appear
class
or
group
those
50
!
Try:
30
!
-20
!
by
typing:
arrive.
in
the
of
concerned
to
top
objects
Small
center
resembling
with
talk
of
your
position,
screen.
boxes,
size,
it
and
You
can
tilt.
have
receive
Try:
given
messages
it
the
having
name
joe. As a
to
do
with
joe
will
A
new
answer
Now
Both
in
the
and
(Don't
We
see
which
joe
turn,
Gr
jill
box
the
try:
repeat
of
the
upper
joe's
jill's
forget
from
can
is
1 !
grow,
<f-
box !
will
appear.
question
(joe
individuals
left
size!
size
!
that's
this
do
similar
and
jill
turn
hand
and
answer
Type
is ? wi
20.
respond.
corner
is
typed
the
things.
similar
jill
little
that
th
turn
To
of
your
as
< ctrl>
"movie"
he
messages
box
(as
-11)
"escape"
keyboard.
is a
s)
which
did
!
box
to
joe).
from
correctly.
jill
using
the
Ask
the
we
created
Now
different
endless
questions:
that
try:
loop,
joe
numbers
press
and
jill
the
key
are
for
really
size
and
marked
separate
tilt.
'ESC'
jill
will
located
entities
WRITING
An
analogy
we
find
useful
between
properties
human
the
a
particular
than
"thing"
In
object).
sending
to
object.
The
among
object's
or
an
A
(we
values
natural
Small
it;
it
central
objects
action
Look
individuals
such
and
talk,
Objects
and
receives
name
SMALLTALK PROGRAMS
to
these
ideas
is
the
common
the
idea
of
as
often
are
quantities
kind
language
"action".
every
receiving
idea
in
and
that
at
the
that
'name',
say
instance
of
rolling
entity
can
remember
messages.
messages
in
writing
the
created
then
is a
reply
Class
grouping
we would
'age',
(as
with a value
gait
and
thus
is
and
Small
environment.
mentioning
from a class
Box
'weight',
of
the
for
make
called
things
The
possibly
talk
human
like
class
'walk').
an
class
programs,
the
message.
sends
notion
to
'walk',
for
no
object;
about
of
classification
beings
human)
Small
distinction
handles
produces a reply,
A message is
into a class
discuss
'eat',
has
'weight'),
talk's
every
themselves
this
then,
Either
the
message.
them
is
by
because
in
the
abstract.
'eyecolor',
particular
and
some
semantics
between
object
and
communication
to
define
sent
the
and
values
are
are
the
belongs
can
communicate
typically a message
classes
to
an
programmer
similar
we
many
for
actions
at a more
rather
to
a
for
every
which
object
(via
properties.
see
so
many
The
class
others.
these
properties.
(an
individual
comprehensive
crude
class
handle
by
direct
English
(which
with
object
to
first
Page
For
example,
similarities
"human"
Each
individual
Some
may
notions
is
also
each
other
which
belongs
send
to
another
communication
mentioning
keyboard
typing)
18
has
of
have
level
of
an
by
the
As
an
example
to
introduce
encorporates
Note
that
that
will
be
The
definition
to
box
var
(<(draw
<1undraw
<1turn
<1grow
isnew
add
to
turtle
of a
class
the
special
most
of
what
you
can
also
examine
introduced,
by
show < classname
of
box
is
I x y
size
tilt
(®
=>
(@
=>
(SELF
=>
(SELF
=>
(Grx
=>
@=>(<( place
definition,
Small
talk
is
complex
the
typing-
> !
place x y
white.
undraw.
undraw.
(-
Gry
r:J"=>tilt (-O.
=>
(SELF
here
is
symbols
about
classes
turn
tilt.
SELF
draw. ® black)
@=>tilt (-tilt
ursize (-size
(-
256.
SELF
penup
gota
a box.
Small
we
and
have
Its
syntax.
talk.
already
square
G?size (-50.
draw)}
!
(:)(:)
various
size.)
+:.
+:.
pendn
parts
It
is a
discussed
SELF
draw.)
SELF
up.
are
described
very
simple
(turtle,
draw.)
1tBELF)}
class
window),
!
below.
definition,
as
They
well
serve
as
but
any
to
square
(GT
do 4
length
length (-:.
(®
go
length
turn
90})!
WRITING
ad
.
The
dto
to
extend
The
message,
without
the
response
put
leaving a trace).
SMALLTALK PROGRAMS
object
addto
definition
is
to
its
pen
have
down,
is
of
the
useful
turtle).
turtle
and
face
for
extending
Here,
pick
in
an
we give a
up
upward
its
the
definition
turtle
pen,
go
direction
of
an
the
ability
to a screen
(that
is,
object
to
respond
position
it
places
(in
this
to
that
itself
case,
the
message
is
received
at a new
Page
we
used
position
19
it
place.
as
a
square.
Chapter
the
To
I.
message,
draw a square
The
Explanation
The
format
We
use
Everything
storing a name
contexts
gain
access
have
only
turtle,
Notice
which
for
to
(class-name>
the
symbol,
following
in
which a message
to
been
window,
that
more
('{? < class
is
more
initial
was
also
of
the
teaching
(names
(names
(messages
with
objects
working
fontchar,
consistently,
name
like
box
explanation
given
in
Definition
Small
of
of
to,
to
refer
the
name
its
meaning
and
their
at
the
are
>
~
class <
(messages
on
the
of
Chapter
of
the
talk
about a new
(temporary
screen,
the
I.
we
use
colon,
:,
the
Box
Class
class
variables> I
the
definition
Smalltalk
of
objects
properties describing each member
properties describing the
to receive
is
might
meanings
highest
found
we
temporary
and
and
actions
to
the
next
object
its
value;
in a dictionary.
be
in
might
sent;
level
the
have
it
typically
that
(top
top-level
preferred
variables> I
responses)!
is
useful
There
were
level)
class
(class
to
talle)
as a literal
to
think
can
dictionaries
defined
of
Small
dictionary.
the
format
(instance
!
in
symbol
is
(instance
variables»
class
of
be
different
any
talk
variables> I
of square
for
variables»
name
this
format
dictionaries
are
nested
higher
level
context.
that
fetching
(here,
as
so
of
The
(class
was
constructed
the
next
I
the
name
the
mechanism
for
the
that
an
context.
definitions
variables>
value
is
different
object
So
far
of
in
in
box).
for
can
we
box,
(iF
the
method
object
as a literal
Title
Line
Words
The
Class
In
locations
that
the
The
distinguish
location
orientation
different
between
vertical
and
the
title
distinguish
class.
definition
<name> ~ <value>!
for
bar,
Instance
line,
needed
members
of
the
on
sizes,
creating
name
the
/,
only
each
of
the
box
the
and
instances
and
word to
in
the
Variables
three
different
when a member
member
class
of
the
on
the
screen.
different
the
part
and
the
title
is used
of
the
box
specifies
class;
screen;
Hence,
orientations.
of
the
classes.
after
the
arrow,
first
left
parenthesis
as a delimiter
kinds
of
names
of
the
class is
class;
and a temporary
size
two
and
two
kinds
is
the
members
names
of
length
of
Here
+-,
is
for
can
actually
of
names:
variable
the
we use
the
are
the
different
be
objects
of
each
class
the
object's
referred
specified:
doing
that
the
four
(var).
of
its
box
can
symbol
meaning.
to
kinds
something;
have
Gr
to
refer
to
the
as
the
title
of
the
definition.
of
variables.
names
are
properties
Properties x and y define
sides;
for
common
(x,
and
different
temporary
names
to
all
y,
size,
tilt
is
screen
of
properties
members
tilt)
its
locations,
next
storage
angle
of
that
the
of
WRITING
SMALLTALK PROGRAMS
Page
20
Messages
All
members
responds
request
messages
message,
The
because
Small
to
symbol
it
talk
joe
Small
talk
and
finds
box
in
the
screen
coordinates
In
matches
question:
"token"
grow,
position.
sequential
to
(grow
and
to
two
learn
that
are
«,
is
the
grow
sees
that
context
equal
the
do I
refer
Actions
of
the
messages
the
each
given
within
("eyeball")
used
to
message
100
the
it
is
For
to
order,
message
see
to a single
50),
read,
class
class
member
look
!
name
an
instance
of
joej
example,
256.
joe looks
grow
the
following
(read
box
respond
which
type
of
parentheses
is
in
at
the
have
(is),
the
class
front
message.
to
joe, looks joe
of
the
that
is,
with
joe's
dictionary
(with
with
the
word
token
word
or a group
eval
print).
messages
been
adopted
and a request
can
receive,
after
the
title
of
each
of
the
Suppose
up
in
its
class
box.
Therefore,
the
knowledge
might
the
«)
for
grow
in
as
the
next
of
words
to
grow,
as
reasonable
to
learn
and
line.
message
we
have
dictionary
of a dictionary
indicate
the
message
the
definition.
token
enclosed
turn,
the
words.
created
of
Small
in
by
draw
and
conventions
about
actions
names
talk
that
the
each
The
the
size is 50,
draw,
Use
the
message?
parentheses.
undraw.
for
class'
will
symbol
box
named
and
their
runs
the
containing
undraw,
of
the
Examples
Each
Smalltalk
properties
take
upon
resembles
associated
definition
joe's
tilt
and
eyeball,
We
will
member
receiving
an
joe
and
of
size,
a,
and x and
turn,
«,
is
use
of
tokens
also
classes:
('s).
'rhe
eyeball
we
send
meanings,
the
class
tilt,
and
and
then
asking
the
word
arc:
a
a
y
a
Conditional
Within
itemization
the
clause)
the
messages.
else-clause).
not-false
In
the
box
you
see
the
may
be
asked
significance
to
have
the
message
The
Suppose
in
specific
joe's
on
The
The
value
Message
order
size
the
screen.
Message
action
of
sender.
a
to
value
the
Actions
main
set
of
the
This
value;
increases
it
definition,
following
in a conditional
in
Smalltalk--any
boolean
Grow
box
sees
erase
itself
of
the
Turn
taken
if a box
instance
of
parentheses
messages
itemization
The
must
be
the
if-clauses
word
in
val~e
"true".
the
message
from
change
by 100.
sees
variable
for
each
member
is
actually
then-clause
enclosed
the
within
message?"
statement.
object
The
grow.
the
screen.
is
received
The
box
the
message
tilt,
and
the
class
of
the
in
the
consists
parentheses.
of
most
of
Any
The
with a value
object,
The
action
It
then
as a
message
then
sends
turn
then
tells
definition,
class
can
form
of a conditional
of
the
the
conditional
question
choice
however,
other
the
changes
itself
is
similar:
itself
of
box
using
the
to
we
receive
actions
that
the
than
returns
takes
the
the
message
the
draw
provide
that
statements
can
word
the
its
is
value
Small
box
again.
(virtually
and
the
statement
will
occur
be
answered
"not-false"
boolean
"not-false"
to
send
of
size
talk
symbol
draw
in
tells
itself
methods
(if-clause
if
are
simply
"false"
rather
value
"false"
value
itself
the
by
colon,:.
order
to
undraw,
in
tabular
for
the
some
to
show
responding
if
-clause
questi'ons
or
"not-false"
than
"true"
is
considered
for
use
message
amount.
In
itself
changes
form)
=>
(then-
has
by
undraw
this
case,
again
an
to
a
"do
has
the
The
the
WRITING
The
Message
The
meaning
box's
orientation
box's
sides.
white)
in
order
SMALLTALK
Draw
of
draw
is
to
(tilt),
and
Undraw
to
simply
"erase"
the
PROGRAMS
place
the
call
on
the
changes
drawing
turtle
object
the
of
the
at
the
square
turtle's
square
box's
with
color
box.
screen
the
to
white
location
message
(assuming
(x,
size,
y),
the
the
turn
the
length
of
background
turtle
each
Page
in
of
color
21
the
the
is
Again,
manner.
message
The
Message
The
Small
created.
(i.e.,
describing
for
the
the
screen.
The
l\1essage
To
have
a box
and
y.
Edit
box
<I
Try
notice
as
As
it
that
each
is
able.
Isnew
talk
object
If
so,
the
the
class
member).
If
a
Small
isnew
Move
a
box
grow, we
in a different
and
add
to
move
=>
(SELF
the
evaluation
object
isnew
usual
new
talk
must
position
the
is
evaluated,
is a
consequent
member
In
box,
class
be
asked
change
on
definition
undraw.
(reading)
it
special
the
the
question
is
of
the
new
is
to
have
as
part
instance
the
display
~x~:.
of
a
Small
is
given
the
that
the
action
class
instance
any
of
the
variable
screen,
GT'y~:.
by
assigning
also
members
definition
SELF
of
we
talk
message
opportunity
determines
giving
sends
size;
values
values
itself a message
(instances)
of
the
to
want
to
draw.)
if a new
to
class.
have
redraw
is
to
to
each
a
box
done
in a left-to-right
read
as
instance
each
of
name
to
at
all,
the
turn,
the
box
much
of
the
of
the
class
the
instance
in a dictionary
draw a square
question
we
change
with
new
tilt.
values
(linear)
remaining
is
being
variables
created
shape
on
To
put
for
x
joe move
joe
for
The
third
lower
right
repea.t
The
above
action
new
Suppose,
is
values
joe
In
other
left,
up,
The
Smalltalk
100
move
200
i
~
50
to
message
corner.
(joe
is a method
to
tell
itself
from
instead,
move
right
words,
or
if
down
statement
200.
lOa.!
250
causes
To
move
the
we
a box
and
by
10
joe
have
mx
my)
for
to
erase
message,
would
like
50.
joe move
sees
then
might
(joe
to
joe
move i
move
track
i)
across
the
mouse
!
having
the
receive a number
from
and
to
message
be
the
then
type
left
box
the
screen
drawing
messages
100.
move,
!
the
screen
cursor,
move
to
(undraw),
itself
such
joe move
then
value
diagonally
simply
an
absolute
again
as
up
it
should
to
determine
change
(draw).
30.
type
joe
look
from
location
the
values
move
down
for
one
by
how
the
on
of
much
upper
left
the
screen.
of x and
10.!
the
four
to
increment x or
corner
The
y by
receiving
messages
to
the
box's
right,
y.
WRITING SMALLTALK PROGRAMS
<t
move
=>
The
to
evaluate
three
Also
move
case.
use
of
actions:
note
methods
Try
<t
move
{SELF
{«right
SELF
parentheses
the
last
(1)
that
moving
(relative
=>
(SELF
(<(right
SELF
«left
«up
«down
part
SELF
«left
«up
«down
Gr
x
draw)
undraw.
=>
(~xt-x+:.)
=>
(Grxt-x-:.)
=>
(Gryt-y-:.)
=>
(~yt-y+:))
draw)
around
up
and
the
of
the
undraw.
means
absolute)
conditional
statement
(2)
decreasing
undraw.
=>
(@:>xt-x+:.)
=>
(Grxt-x-:.)
=>
(Gryt-y-:.)
=>
(Gryt-y+:)
t-:.
(?
y
t-
:.)
-
(SELF
look
for
available,
statement
(<(right
draw);
one
of
the
directional
the y coordinate.
we
could
make
the
If
one
=>
reply
we
·(say
()
... )
to
the
messages,
wanted
the
allows
message
and
to
have
absolute
each
(3)
one)
possible
move
SELF
both
the
Page
22
form
contains
draw.
kinds
default
of
The
There
the
name
class
they
The
same
or
or
The
class
name
the
literal
sitting
The
the
next
in
looking
<l
only
Message
are
two
of
instance.
have
not
add
to box GT-(<(is
message
as
one
already
joe
joe is
joe is
method
name
(in
(GT'box).
class
in
the
"open
colon"
words
at
fetches
Is.
messages
the
class;
We
already
is,
by
is
1!
box!
turtle!
for
responding
this
Otherwise,
name.
message,
symbol
enclosed
the
message
the
we
include,
the
other
adopt
the
been
included
=>
(<(box
«'s
=>
(@='
convention,
known.
to
case,
box),
see
Otherwise,
gather
(8)
in
parentheses)
literally.
expression
by
is
word
is
=>
var
t-
is a request
So
we
might
is
(shown
is
the
if
the
the
it
up
but
is a
Small
if
there
convention,
the
ability
for
the
in
your
{11'
(iT>
8.
«t-
say
and
be
and
be
and
be
in
next
next
word
answer
do
not
talk
literally
However,
is
an
in
to
evaluate
first
message,
definition
box)
« 1
=>
(11'
var
to
learn
told
box
told
box
told
false
the
above
word
in
in
the
must
evaluate
symbol
as
the 8 always
exact
match.
each
the
(i.e.,
the
be
that
it
of
=>
t-
message
false.
it
appears
class
messages
and
box,
then
(11'
r:;r
:.)
11'
var
name
of
not-false)
definition
message.
In
(8).
Then
says:
fetch
in
fetches
definition.
within
the
possessive
type
box)
8.11'
eval))!
the
class
of
box)
If
it
is a
question
order
to
return
the
the
message.
in
the
false)
or
involves
is,
return
not
next
next
One
the
for's
to
mark
leave
false.
token
is
the
context
for
ask
if
seeing
(11')
(?).
the
(the
1'he
literal
ability
of
the
the
second.
the
name
(<I)
the
literal
If
it
is,
incorrect
next
8 is
similar
expression;
to
learn
class
is
if
return
name
word
to
or
If
the
the
class
or
«
the
WRITING
The
Message
The
message
context
the
What
and
for
The
the
is
take
word is
var
sequentially
because
box
~x
W'h
will
see
the
class
method
meaning
the
back
on
the
of
the
joe
ff-
be
that
the
not
message
of
the
SMALLTALK
'S
('8)
is, by
convention, a request
message
is 50
100!
joe's
the
the
instance),
for
responding
of a
arrow
next
the
back
left
Smalltalk
receiver
and
we
say
x!
value
of
value
of
the
temporary
(4-).
If
value
in
arrow,
eval).
to
right,
method
PROGRAMS
(typically,
h?
At
the
x is 100j
value
is 50.
to's
involves
object
it
is a
the
then
Again,
but
(here
back
message
simply
note
that
for
main
but,
Hence
receiving
named
arrow,
(:).
return
that
the
letting
to
the
class
(top)
within
the
then.
(I.e.,
the
message
each
evaluate
or
level
the
context
assigned
the
var),
and
return
this
is a
the
value
evaluation
is
actually
object
the
of
next
read
Small
(1t)
of
the
next
instance
talk
of
joe
value
token
then
seeing
the
method
the
meaning
of a Small
grouped
as
much
token
in
the
of
the
class).
we
examine
(looking
of h must
literally
result
of
indirect
of
in
be
50.
(8),
assigning
if
the
next
of
letting
reference.)
of
var
talk
message
in a right-associative
the
message
message
Suppose
the
global
the
dictionary
word
the
(obtained
as
within
the
dictionary
this
in
the
meaning
If
by
is
carried
it
chooses.
Page
the
size
created
token
message
of
var
the
next
sending
out
manner
23
of
as
Receiving
There
is
not
<I,
colon,
following
friend
received);
my
(note,
I
information
8
words,
(1)
simply
(2)
(3)
stack.
(4)
from
(5)
the
to be
a message; I
friend
however,
can
also
in
the
message
An
object
mentioning
The
Each
The
RECEIVER
the
When
ability
used
action
message
Messages
one
:,
and
way--
when
read
the
that
choose
Crom
(let's
of
attempt
the
RECEIVER
to
send
by
the
global
suppose I just
he
to
message
open
colon,
wait
finishes
rest
of
this
to
include
my
message
the
Criend).
call
the
RECEIVER's
message
to
receive
uses
at
the
top
and
receive
CALLER.
until
reading
my
can
it
the
sending
the
of
completes
to
which
8)
referj
received a message; I read
my
message,
be
done
permission
and
to
However,
CALLER)
information
eyeball,
the
stack.
messages
all
message
rather,
friend
his
give
name
forms a stack
his
reads
message, I return
but
then I can
using
the
in
my
that
inCormation
anything
can
followed
typically
«,
the
colon,
actions,
returns
messages
his
Smalltalk
message
my
send a message
by
of
messages;
means
.,
the
to
the
"fetches"
message
Criend Cetches, I
the
and
message
CALLER.
(use
form a hierarchy
part
(the
to
reading
not
get
the
object
message.
to
my
to
him
to
the
looking
the
at
apply
another
open
the
The
of
the
Smalltalk
which
of
it
and
decide I should
one I sent
my
message. I can
message
which
will
friend
(accomplished
last
at
to
can
no
object
message
the
message
colon,
8,
top of
the
HECEIVER
him,
back
ask
by
longer
(the
sent
to
stack
symbols
we
explain
not
choose
to
read
be
discussed
me
to
including
have.
RECEIVER)
is
put
on
the
receive
is
removed
may
return a value
eyeball,
in
the
send
my
the
one
to
let
it
myself
later).
fetch
some
<I,
:,
In
other
by
on
the
top.
top
of
the
information
and
I
or
(6)
This
means
receiver).
CALLER
information
that
sequence
each
Each
becomes
remaining
of
sending
message
time
the
the
current
in
and
on
the
RECEIVER
RECEIVER.
his
messago.
receiving
stack
has a CALLER
is
messages,
finished,
The
his
now
viewed
(message
message
current
here
as a
sender)
is
removed
RECEIVER
process
and
from
can
of
stacking
RECEIVER
the
stack
continue
messages,
(message
and
reading
the
any