
           TURTLE GRAPHICS
  Like BASIC, LOGO is a computer language. LOGO is better than 
BASIC in three ways: by using LOGO, you can more easily create 
graphics, build ``lists of lists'', and design your own computer 
language (by adding your own words to LOGO). Let's see how!
  I'll explain the best version of LOGO, then explain how other 
versions differ.
  To start using LOGO, put the LOGO disk into the computer, then 
turn the computer on. The computer will say:
WELCOME TO LOGO
   Differences Some versions of LOGO come on tapes or ROM 
cartridges instead of disks. Some versions use a mouse and 
require you to point at a LOGO icon.
  Most versions of LOGO don't understand small letters; they 
understand only capitals. If your computer has a CAPS LOCK key, 
make sure it's pressed down.
  To start Commodore LOGO, say:
LOAD "LOGO",8
RUN
  To start the disk version of Radio Shack Color LOGO, say:
LOADM "LOGO"
EXEC
  After Radio Shack Color LOGO says ``LOGO:'', tap the R key.
  To use a version of LOGO called ``LOGO Writer'', use the 
student disk that your teacher created from the master disk, or 
use the TRY ME disk. Before using the TRY ME disk on an IBM PC, 
do the following: insert the PC-DOS disk, turn on the computer, 
type the date and time, insert the TRY ME disk, then type ___ 
A>logowrit
  When you start using LOGO Writer, the top of the screen will 
say CONTENTS. To continue beyond that point, press the ENTER key.

         Showing the turtle
  To draw pictures, you move a turtle across the screen. To see 
the turtle, say SHOWTURTLE, like this:
SHOWTURTLE
SHOWTURTLE is all one word. Do not put a space between SHOW and 
TURTLE.
  LOGO lets you abbreviate most words. The abbreviation for 
SHOWTURTLE is ST; so instead of typing SHOWTURTLE you can type 
just ST, like this:
ST
  After you say SHOWTURTLE (or ST), you'll see a turtle in the 
center of your screen.
  You can make the turtle either visible or invisible. To make it 
invisible, say HIDETURTLE (or HT). To make it visible again, say 
SHOWTURTLE (or ST) again.
   Differences Many versions of LOGO put a question mark on the 
screen and expect you to type a command after the question mark. 
For example, to say SHOWTURTLE, type SHOWTURTLE after the 
question mark, so your screen looks like this:
?SHOWTURTLE
  Atari 800 LOGO shows a good picture of a turtle (including the 
turtle's head, feet, tail, and shell), but most other versions of 
LOGO show just the turtle's nose, which looks like an arrowhead.
  LOGO Writer and Atari 800 LOGO require you to abbreviate. For 
example, they require you to say ST instead of SHOWTURTLE.
                                                Rotating the turtle
                                         The screen acts as a map 
of the turtle's desert. Since the desert's only occupant is the 
turtle, the turtle's the only thing you see on the screen.
                                         Like most maps, the 
screen's a rectangle whose top edge is called north, bottom edge 
is south, right edge is east, and left edge is west.
                                         When you start using 
LOGO, the turtle's at the screen's center. The turtle faces north 
and stares at the screen's top edge.
                                         As on a compass, north 
is called 0 degrees, east is 90 degrees, south is 180 degrees, 
and west is 270 degrees. To make the turtle face east, say 
SETHEADING 90 (or SETH 90).
                                         When typing that 
command, you must press the SPACE bar before you type the 90. 
That command makes the turtle rotate, so that it faces east.
                                         The turtle can rotate to 
any angle you wish. For example, to make the turtle face 
northeast, say SETHEADING 45.
                                         You can choose any angle 
from 0 to 360. You can even choose decimals and negative numbers. 
Experiment!
                                         Rotating to the right In 
LOGO, rotating clockwise is called ``rotating to the right''. To 
make the turtle rotate to the right, 90 degrees, say RIGHT 90 (or 
RT 90).
                                         For example, if the 
turtle is facing north, and you say RIGHT 90, the turtle will 
face east. Then if you say RIGHT 90 again, the turtle will turn 
clockwise 90 degrees more, so that the turtle will face south. If 
you say RIGHT 90 again, the turtle will face west. If you say 
RIGHT 90 again, the turtle will face north again.
                                         Rotating to the left 
Rotating counterclockwise is called ``rotating to the left''. To 
make the turtle rotate to the left, 90 degrees, say LEFT 90 (or 
LT 90).
                                          Differences The 
computer's RAM accurately handles decimals (such as 4.1 degrees), 
but the screen shows just an approximation of what's in the RAM. 
For most versions of LOGO, the screen shows the turtle's angle 
rounded to the nearest 15 degrees; Radio Shack Color LOGO shows 
the angle rounded to the nearest 45 degrees.
          Moving the turtle
  To make the turtle walk 50 steps in the direction it faces, say 
FORWARD 50 (or FD 50).
  For example, if the turtle faces east, and you say FORWARD 50, 
the turtle will walk 50 steps east. If you then say FORWARD 50 
again, the turtle will walk 50 steps farther east.
  To make the turtle retreat 50 steps backwards, say BACK 50 (or 
BK 50). For example, if the turtle faces east and you say BACK 
50, the turtle will retreat 50 steps backwards: the turtle will 
retreat to the west while still facing east.
  The point at the screen's center is called home. That's where 
the turtle's life began. To make the turtle return to its home 
and its original heading (facing north), say HOME.
  Setting the position To make the turtle hop to the point whose 
coordinates are [30 70], say SETPOS [30 70].
  That makes the turtle hop to the point that's 30 steps east and 
70 steps north of home. The turtle hops there regardless of where 
the turtle was before.
  Hopping does not change the direction the turtle faces. For 
example, if the turtle faced south before hopping, the turtle 
still faces south after the hop, even if it's hopped north of 
where it started.
  Instead of saying SETPOS [30 70], you can say SETX 30 and then 
SETY 70, like this:
SETX 30
SETY 70
The SETX 30 makes the turtle hop across the screen horizontally 
east-west, until it reaches a point that's 30 steps further east 
than home was. The SETY 70 makes the turtle hop vertically 
north-south, until it reaches a point that's 70 steps further 
north than home was.
  The screen's edge When you try to move the turtle past the 
screen's edge, what happens? The answer depends on which kind of 
universe you create. You have three choices.
  If you say FENCE, the computer erects a fence around the 
desert, so that the turtle can't move past the screen's edge. If 
you give the turtle a command that requires the turtle to go past 
the fence, the turtle gripes, refuses to do the command at all, 
and doesn't even walk up to the fence.
  If you say WINDOW instead of FENCE, the computer lets the 
turtle wander off the screen, to locations you can't see. Your 
screen acts as a window, through which you see just part of the 
turtle's universe.
  If you say WRAP (instead of WINDOW or FENCE), moving the turtle 
past the screen's edge makes the turtle take a quick trip around 
the world. For example, if the turtle travels west, past the 
screen's west edge, the turtle quickly travels around the world 
and returns from the east. If the turtle travels north, past the 
screen's top edge, the turtle quickly travels around the world 
(past the north and south poles) and returns from the south.
  When you start using LOGO, you automatically begin with a 
WRAPped universe, but you can switch to a FENCE or WINDOW.
                                         Leisure-time jogging 
When the turtle isn't busy obeying your commands, how does it 
spend its leisure time? Normally, the turtle just sits still. But 
if you say SETSP 30, the turtle will spend all its leisure time 
jogging at speed 30, in whatever direction the turtle is facing.
                                         For example, suppose the 
turtle is facing north, and you say SETSP 30. The turtle will jog 
north, at speed 30. The turtle will keep jogging north, until you 
give it another command. If you don't give another command soon, 
it will reach the edge of the screen, and its further fate 
depends on whether you said FENCE or WINDOW or WRAP.
                                         While the turtle jogs, 
if you tell it to change direction (by saying SETHEADING or RIGHT 
or LEFT), it will continue jogging but in the new direction.
                                         While the turtle jogs, 
if you tell it to walk (by saying FORWARD, BACK, SETPOS, SETX, or 
SETY), the turtle will walk where you said and then continue 
jogging from that new location.
                                         To stop the jogging, say 
SETSP 0 (which sets the jogging speed to 0) or HOME (which makes 
the turtle go home and rest there).
                                          Differences Atari 800 
LOGO understands SETSP, but most other versions of LOGO don't. 
Some versions of LOGO don't understand FENCE. LOGO Writer lacks 
SETSP, FENCE, WINDOW, WRAP, SETX, and SETY.
                                         For MIT versions of LOGO 
(such as Krell LOGO, Terrapin Apple LOGO, and Commodore LOGO), 
change FENCE to NOWRAP, don't say WINDOW, and change SETPOS [30 
70] to SETXY 30 70; if the second number in the SETXY command is 
negative, put that number in parentheses. Radio Shack Color LOGO 
resembles MIT versions but lacks some commands, such as SETXY.

                                                 Changing the pen
                                         The turtle's belly has a 
ball-point pen sticking out of it. While the turtle moves, the 
pen scrapes along the ground and draws a line on the ground. That 
line's called the turtle's trail. It appears on your screen, 
since your screen's a map of what's on the ground. Even if you 
make the turtle invisible (by saying HIDETURTLE), you'll still 
see the turtle's trail.
                                         If you say PENUP (or 
PU), the turtle lifts its pen from the ground, so that the pen 
stops drawing a trail. To put the pen back down on the ground 
again, say PENDOWN (or PD).
                                         Creating colors You can 
change the pen's ink to a different color. To switch to color #2, 
say SETPC 2. That makes the computer set the pencolor to 2.
                                         Erasing You can replace 
the pen by an eraser. To do that, say PENERASE (or PE). Then as 
the turtle moves, it erases any ink on the ground. For example, 
if you turn the turtle around and make it walk back along the 
trail it created, it will erase the trail.
                                         The eraser scrapes 
across the ground until you lift it (by saying PENUP) or insert a 
pen instead (by saying PENDOWN).
                                         Reversing colors You can 
replace the pen by a reverser. To do that, say PENREVERSE (or 
PX). When you draw with the reverser on black ground, the ground 
becomes white, when you draw on white ground, the ground becomes 
black; when you draw on colored ground, the ground changes to the 
opposite color.
                                         The reverser works until 
you lift it (by saying PENUP) or switch to a pen or eraser (by 
saying PENDOWN or PENERASE).
  Filling in the middle After you draw a polygon (such as a 
triangle, rectangle, or octagon), you can fill in the middle. To 
do so, lift the pen (by saying PENUP), then move the turtle to 
somewhere in the middle of the polygon, then say PENDOWN, then 
say FILL. The FILL command makes the pen leak, until the ink 
fills the entire polygon.
   Differences Instead of saying SETPC, LOGO Writer and Atari 
800 LOGO say SETC; MIT versions say PC.
  Instead of PENERASE, Commodore LOGO says PC -1; Krell and 
Terrapin Apple LOGO say PC 0; Radio Shack Color LOGO says PC 3.
  Instead of PENREVERSE, Krell and Terrapin Apple LOGO say PC 6. 
Commodore LOGO and Radio Shack Color LOGO lack the concept.
  Apple's colors are numbered from 0 to 5, IBM's and the Color 
Computer's from 0 to 3, Commodore's and the Atari ST's from 0 to 
15, and the Atari 800's from 0 to 127.
  LOGO Writer, IBM LOGO, DR LOGO, and Atari ST LOGO understand 
FILL, but most other versions don't.

       Changing the background
  The desert sand is called the turtle's background. The sand 
appears a different color if you shine colored light at it. To 
make the sand appear to have color #1, say SETBG 1. That makes 
the computer set the background color to 1.
  If you say CLEAN, a gust of wind blows all the sand around, so 
that the sand covers all the trails that the turtle made, and the 
screen is clean again: all that remains on the screen is the 
turtle itself.
  To erase everything you did and ``start over'', you could say 
HOME (which makes the turtle return home and face north) and 
CLEAN (which erases the turtle's trails). But instead of saying 
HOME and then CLEAN, you can combine those two commands into this 
single command: CLEARSCREEN (or CS).
  If you say DOT [20 50], a drop of ink will fall from the sky 
and land on the point whose coordinates are [20 50], so that you 
see a dot of ink at that point.
   Differences For LOGO Writer, change CLEARSCREEN to CG (which 
means ``Clear the Graphics''); to clear the graphics and the rest 
of the screen and make everything ``fresh'', say CT RG (which 
means ``Clear the Text and Reset the Graphics''). For MIT 
versions of LOGO, change CLEARSCREEN to DRAW, change CLEAN to 
CLEARSCREEN, and change SETBG to BG. LOGO Writer, MIT versions, 
and Atari 800 LOGO don't understand DOT.
                                                   Extra turtles
                                         You can create several 
turtles, called turtle 0, turtle 1, turtle 2, turtle 3, etc. 
Normally, your commands are obeyed by just turtle 0.
                                         To talk to turtle 1 
instead, say TELL 1. That makes turtle 1 appear on the screen, 
and all your future commands will be obeyed by turtle 1 instead 
of turtle 0.
                                         While turtle 1 obeys 
your commands and prances around, turtle 0 will sit quietly 
(unless you told it to jog, by saying SETSP 30).
                                         To start talking to 
turtle 0 again, say TELL 0. To talk to turtle 2, say TELL 2. To 
talk to turtle 3, say TELL 3.
                                         If you say TELL [0 1 2 
3], you'll be talking to turtles 0, 1, 2, and 3 simultaneously. 
Any commands you give will be obeyed by all those turtles.
                                          Differences LOGO 
Writer, Commodore LOGO, and Atari 800 LOGO understand TELL, but 
most other versions of LOGO don't. LOGO Writer and Commodore LOGO 
hide turtles 1, 2, and 3, until you make them appear by typing 
ST.
                                         In Commodore LOGO, TELL 
must be followed by a single number, not a list of numbers; and 
before saying TELL, you must feed the computer TELL's definition, 
by putting the Utilities Disk in the drive and typing:
READ "SPRITES
Put the quotation mark before SPRITES but not afterwards.

                                               Graphics versus text
                                         Usually, the top of the 
screen shows the map of the turtle's desert, and the bottom of 
the screen shows the commands you've been typing. For example, if 
you say SHOWTURTLE, the top of the screen shows the turtle, and 
the bottom of the screen shows what you typed: the word 
SHOWTURTLE.
                                         If you want to devote 
the entire screen to the map, say FULLSCREEN (or FS). Then the 
map fills the entire screen, so that you see a larger portion of 
the desert. Since the entire screen shows the map instead of your 
typing, what you type will be invisible, until you return to the 
normal setup (by typing MIXEDSCREEN or MS) or devote the entire 
screen to your typing instead of a map (by saying TEXTSCREEN or 
TS).
                                          Differences For MIT 
versions, change MIXEDSCREEN to SPLITSCREEN, and don't use the 
abbreviations FS, MS, and TS. LOGO Writer always gives you a 
mixed screen and won't let you change to fullscreen or 
textscreen.

                MATH
  To make the computer print the answer to 5+2, say PRINT 5+2 (or 
PR 5+2). The computer will print the answer:
7
  Like BASIC, LOGO lets you use arithmetic symbols (+, -, *, and 
/), negative numbers, decimals, E notation, and parentheses.
   Differences For Apple LOGO 2, put a blank space before and 
after the symbol /. LOGO Writer puts its answers at the top of 
the screen and lacks E notation.

            Square roots
  SQRT 9 means ``the square root of 9''. So to print the square 
root of 9, type this:
PR SQRT 9
The computer will print the answer:
3
  If you say ___ 
PR SQRT 9+7
the computer will print the square root of 16, which is 4. If you 
leave extra spaces, like this ___ 
PR SQRT 9 + 7
the computer will ignore the extra spaces: it will still print 
the square root of 16, which is 4. If you say ___ 
PR (SQRT 9)+7
the computer will find the square root of 9, which is 3, and then 
add 7, so it will print 10.
   Differences LOGO Writer lacks SQRT.

           Turtle numbers
  To find out where the turtle is, say PR XCOR (which prints the 
X coordinate) and PR YCOR (which prints the Y coordinate).
  To slide the turtle 20 steps farther east, say SETX XCOR+20. 
That says to increase the X coordinate by 20.
  To slide the turtle 20 steps farther west instead, say SETX 
XCOR-20. To slide the turtle 20 steps north, say SETY YCOR+20. To 
slide the turtle 20 steps south, say SETY YCOR-20.
  If you say PR HEADING, the computer will tell you which 
direction the turtle's facing. For example, if the turtle's 
facing east, the computer will print 90. The HEADING will always 
be a number between 0 and 360.
  If you say PR TOWARDS [30 70], the computer will tell you which 
direction to turn the turtle, to make the turtle face the point 
[30 70]. The direction will be a number between 0 and 360. To 
actually turn the turtle in that direction, so that the turtle 
faces the point [30 70], say SETHEADING TOWARDS [30 70]. So to 
make the turtle ``walk 10 steps towards the point [30 70]'', say 
this:
SETHEADING TOWARDS [30 70]
FORWARD 10
  To find out the color of the ink in the turtle's pen, say PR 
PENCOLOR (or PR PC); the computer will print the color's number. 
To find out the color of the background sand, say PR BACKGROUND 
(or PR BG).
  To find out which turtle you're talking to, say PR WHO. The 
computer will print the turtle's number.
                                          Differences For MIT 
versions, change PENCOLOR to LAST TS, change BACKGROUND to ITEM 3 
TS, and omit the brackets after TOWARDS. For LOGO Writer, change 
PENCOLOR to COLOR, change XCOR to FIRST POS, change YCOR to LAST 
POS, and don't say TOWARDS.

                                                  Random numbers
                                         If you say PR RANDOM 5, 
the computer randomly chooses one of these 5 integers: 0, 1, 2, 
3, 4. The computer prints the integer it chooses.

                                                     Rounding
                                         If you say PR INT 3.9, 
the computer will convert 3.9 to an INTeger by omitting 
everything after the decimal point. The computer will print just 
3.
                                         If you say PR ROUND 3.9, 
the computer will ROUND 3.9 to the nearest integer, which is 4. 
The computer will print 4.
                                          Differences For MIT 
versions, change INT to INTEGER. LOGO Writer lacks INT and ROUND.

                                                  Fancy division
                                         If you say PR 11/4, the 
computer will divide 11 by 4 and print the answer, which is 2.75.
                                         If you say PR QUOTIENT 
11 4, the computer will divide 11 by 4 but ignore what comes 
after the decimal point. The computer will print just 2.
                                         If you say PR REMAINDER 
11 4, the computer will divide 11 by 4, and realize that 4 goes 
into 11 ``2 times, with a remainder of 3''. The computer will 
print the remainder, 3.
                                          Differences LOGO 
Writer lacks QUOTIENT.

                                                   Trigonometry
                                         To print the sine of 30 
degrees, say PR SIN 30. To print the cosine of 30 degrees, say PR 
COS 30.
                                         Since the tangent is 
``the sine divided by the cosine'', you can print the tangent of 
30 degrees by saying PR (SIN 30)/COS 30.
                                         The opposite of tangent 
is arctangent. To print the arctangent of .58, say PR ARCTAN .58. 
That makes the computer print how many degrees are in the angle 
whose tangent is .58.
                                          Differences LOGO 
Writer and Atari 800 LOGO lack ARCTAN. For MIT versions, change 
ARCTAN .58 to ARCTAN .58 1.

                   STRUCTURES
  To make the computer print the word LOVE, type this:
PR "LOVE
  In LOGO, a quotation mark means: the word. So that whole line 
means: PRint the word LOVE.
  Make sure you put the quotation mark before LOVE, but do not 
put a quotation mark afterwards! That line is pronounced: P R 
quotes LOVE.
  When you press the ENTER key at the end of that line, the 
computer will print:
LOVE

                      Lists
  To print a list of words, put the list in brackets, like this:
PR [MA CAN'T LOOK]
  That tells the computer to print a list of three words. The 
first word is MA; the second is CAN'T; the third is LOOK.
  The computer will print the list but won't bother to print the 
brackets. The computer will print just:
MA CAN'T LOOK
  If you say SHOW instead of PR, the computer will print the 
brackets also, like this:
[MA CAN'T LOOK]
  The computer understands FIRST, LAST, and similar concepts:
Function            Meaning         Result
FIRST [MA CAN'T LOOK]the list's first itemMA
LAST [MA CAN'T LOOK]the list's last itemLOOK
ITEM 2 [MA CAN'T LOOK]the list's 2nd itemCAN'T
COUNT [MA CAN'T LOOK]how many items 3

BUTFIRST [MA CAN'T LOOK]all but the first item[CAN'T LOOK]
BUTLAST [MA CAN'T LOOK]all but the last item[MA CAN'T]

FPUT "WOW [MA CAN'T LOOK]put WOW first[WOW MA CAN'T LOOK]
LPUT "WOW [MA CAN'T LOOK]put WOW last[MA CAN'T LOOK WOW]

WORD "WOW "MA       combine words into long wordWOWMA
LIST "MA "CAN'T     combine words to form a list[MA CAN'T]
SENTENCE [WOW MA] [CAN'T LOOK]combine lists[WOW MA CAN'T LOOK]
When you type those examples, begin each line by saying PR or 
SHOW. For example, if you say ___ 
SHOW BUTFIRST [MA CAN'T LOOK]
the computer will say:
[CAN'T LOOK]
  You can abbreviate BUTFIRST to BF, BUTLAST to BL, and SENTENCE 
to SE.
  A word's a list of characters. For example, the word FUN is a 
list of three characters (F, U, and N). So all the list concepts 
(such as FIRST, LAST, ITEM, and COUNT) apply to words also. For 
example, if you say ___ 
SHOW BUTFIRST "FUN
or ___ 
PR BUTFIRST "FUN
the computer will say:
UN
  Since FIRST [MA CAN'T LOOK] is MA, whose last character is A, 
the computer knows that LAST FIRST [MA CAN'T LOOK] is A.
  You can put lists inside lists. For example, since FIRST [[MA 
PA] CAN'T LOOK] is [MA PA], whose last item is PA, the computer 
knows that LAST FIRST [[MA PA] CAN'T LOOK] is PA.
   Differences MIT versions don't understand SHOW. For Commodore 
LOGO, change SHOW to FPRINT.
  Atari 800 LOGO doesn't understand ITEM. Version 1 of Terrapin 
Apple LOGO didn't understand ITEM and COUNT. Version 1 of Apple 
LOGO could find an ITEM within a list of words but not within a 
single word.

          Multiple commands
  You can put several LOGO commands on the same line.
  For example, you can say:
FD 50 RT 90
When you press the ENTER key at the end of that line, the turtle 
will go forward 50 and then turn right 90 degrees.
  If you say ___ 
PR 5+2 PR 30+9.1
the computer will print the answers on separate lines:
7
39.1
  If you say ___ 
PR [SKY IS BLUE] PR [SO ARE YOU]
the computer will print this poem:
SKY IS BLUE
SO ARE YOU

               REPEAT
  Let's make the turtle draw a square, so that each side is 50 
steps long.
  To do that, first make sure the turtle's pen is down, so that 
the turtle will draw as it moves. To make sure the pen's down, 
you can say PENDOWN (or PD).
  To make the turtle draw the first side, say FORWARD 50 (or FD 
50). Then tell the turtle to turn right 90 degrees, by saying 
RIGHT 90 or RT 90. Draw the second side, by saying FD 50 again. 
Then tell the turtle to turn right 90 degrees again, etc.
  Altogether, these commands make the turtle draw all four sides 
of the square:
FD 50 RT 90 FD 50 RT 90 FD 50 RT 90 FD 50 RT 90
But instead of typing all that, you can type this short cut:
REPEAT 4 [FD 50 RT 90]
That makes the computer REPEAT, 4 times, the act of going forward 
50 and turning right 90 degrees.
  Let's make the computer print the word WOW, twenty times. 
Here's how:
REPEAT 20 [PR "WOW]
The computer will print the words on separate lines, like this:
WOW
WOW
WOW
etc.
  Here's how to make the computer say FRANCE IS FUNNY, twenty 
times:
REPEAT 20 [PR [FRANCE IS FUNNY]]

                                                     Variables
                                         You can MAKE a word 
stand for something. To make the word DRINKINGAGE stand for 21, 
type this:
MAKE "DRINKINGAGE 21
In that line, DRINKINGAGE is called the variable or the name; 21 
is called DRINKINGAGE's value or the thing that DRINKINGAGE 
stands for.
                                         After you type that 
line, you can say:
PR THING "DRINKINGAGE
That makes the computer print the THING that DRINKINGAGE stands 
for. The computer will print:
21
                                         Instead of typing THING 
and then a quotation mark, you can type just a colon, like this:
PR :DRINKINGAGE
That means: PRint the thing that DRINKINGAGE stands for. It 
means: PRINT the value of DRINKINGAGE. The computer will print:
21
                                         LOGO programmers have a 
nickname for the colon: they call it dots. So the statement ___ 
PR :DRINKINGAGE
is pronounced: P R dots DRINKINGAGE.
                                         Here's another example:
MAKE "MAGICNUMBER 7
PR :MAGICNUMBER+2
The first line makes the word MAGICNUMBER stand for 7. The next 
line says to print the value of the MAGICNUMBER, plus 2. The 
computer will print 9.
                                         A word can stand for 
anything; it can even stand for a list. For example, you can say:
MAKE "STOOGES [MOE LARRY CURLEY]
PR COUNT :STOOGES
The first line says the word STOOGES stands for the list [MOE 
LARRY CURLEY]. The next line makes the computer print the COUNT 
of how many items are in that list; the computer will print:
3
                                         Here's the rule: to 
define a word, say MAKE and type a quotation mark; to use the 
word's value, type a colon instead.

              PROGRAMS
  To teach the computer what the word SQUARE means, type this:
TO SQUARE
REPEAT 4 [FD 50 RT 90]
END
The first line means: here's how TO do a SQUARE. The next line 
gives the definition itself: repeat 4 times the act of going 
forward 50 steps and turning right 90 degrees. The bottom line of 
every definition says END.
  Those three lines form the definition of SQUARE. They're also 
called the program for square, and the procedure for how to do a 
SQUARE.
  After you type those three lines, the computer will know the 
meaning of SQUARE. So in the future, whenever you say ___ 
SQUARE
the turtle will draw a square.
   Differences Before you type the word TO, LOGO Writer requires 
you to tap the F key while holding down the CONTROL key (on the 
IBM) or Open Apple key (on the Apple); Radio Shack Color LOGO 
requires you to tap the BREAK key, then tap the CLEAR key while 
holding down the SHIFT key, then tap the E key.
  Many versions of LOGO automatically put the symbol ``>'' at the 
beginning of each line of the definition.
  After you type the word END, some versions of LOGO require you 
to tap an extra key or two: for LOGO Writer, tap the F key while 
holding down the CONTROL key (IBM) or Open Apple key (Apple); for 
Commodore LOGO, tap the RUN STOP key; for Krell and Terrapin 
Apple LOGO, tap the C key while holding down the CONTROL key; for 
Radio Shack Color LOGO, tap the BREAK key then the R key.

              Pinwheel
  If you draw a square, then rotate 10 degrees, then draw another 
square, you get this:
  Suppose you continue that process: draw a square, then rotate 
10 degrees, then draw another square, then rotate 10 degrees 
again, then draw another square, then rotate 10 degrees again, 
etc. You'll get this pinwheel:
  Let's define PINWHEEL to be that shape. Here's how:
TO PINWHEEL
REPEAT 36 [SQUARE RT 10]
END

                                                      Rebuke
                                         Let's define REBUKE to 
be this message:
YOU LOOK TERRIF!
YOU DRESS SO SPIFF!
YOU ACT SO COOL!
YOU MAKE ME DROOL!

BUT YOU'RE A FOOL!
YOU'RE FAILING SCHOOL!
YOU'RE REALLY DUMB!
A FIRST - CLASS BUM!

SO GET YOUR MIND
OFF ITS BEHIND,
AND YOU WILL FIND
YOU'RE ONE - OF - A - KIND!
                                         Here's how:
TO REBUKE
PR [YOU LOOK TERRIF!]
PR [YOU DRESS SO SPIFF!]
PR [YOU ACT SO COOL!]
PR [YOU MAKE ME DROOL!]
PR []
PR [BUT YOU'RE A FOOL!]
PR [YOU'RE FAILING SCHOOL!]
PR [YOU'RE REALLY DUMB!]
PR [A FIRST - CLASS BUM!]
PR []
PR [SO GET YOUR MIND]
PR [OFF ITS BEHIND,]
PR [AND YOU WILL FIND]
PR [YOU'RE ONE - OF - A - KIND!
END
Then whenever you say ___ 
REBUKE
the computer will print the poem. (To see the whole poem on the 
screen at once, say TEXTSCREEN before saying REBUKE.)
                                         To have fun, say that 
poem out loud in a jive rap style, and clap your hands twice at 
the end of each line.
                EDIT
  After you've defined a word (such as REBUKE), you can EDIT that 
definition by saying ___ 
EDIT "REBUKE
The computer will put your definition on the screen and let you 
edit that definition, by using the arrow keys and the other edit 
keys. When you've finished editing the definition, tap the ESCAPE 
key.
  If you say EDIT [REBUKE PINWHEEL], the computer will put both 
definitions on the screen simultaneously and let you edit them 
both. When you've finished editing them, tap the ESCAPE key.
  If you say just EDIT, the screen will show what you edited last 
time, so you can edit it again.
  The abbreviation for EDIT is ED.
   Differences While editing, experiment! Try tapping the arrow 
keys, ENTER key, RETURN key, BACKSPACE key, DELETE key, INSERT 
key, CONTROL key, and any other edit keys on your keyboard. When 
using LOGO, those keys act the same as when using most word 
processors.
  On old Apples that lack up-arrow, down-arrow, and DELETE keys, 
do this: to move up to the Previous line, tap the P key while 
holding down the CONTROL key; to delete the Next line, tap the N 
key while holding down the CONTROL key; to delete the character 
left of the cursor, tap the ESCAPE key; if you have Apple LOGO 1 
and want to move Back to the left, tap the B key while holding 
down the CONTROL key.
  For MIT versions, omit the quotation mark after EDIT.
  Instead of tapping the ESCAPE key, do the following: for MIT 
versions and Apple LOGO 1, tap the C key while holding down the 
CONTROL key; for Apple LOGO 2, tap the A key while holding down 
the open-Apple key.
  For LOGO Writer and Radio Shack Color LOGO, instead of saying 
EDIT, follow the procedure for saying TO.

        Flexible definitions
  Let's change the definition of SQUARE, to make it more 
flexible. Let's define SQUARE so that SQUARE 50 will be a square 
that's 50 steps long on each side, and SQUARE 100 will be a 
square that's 100 steps long on each side, and SQUARE 6 will be a 
square that's 6 steps long on each side, etc.
  To do all that, edit the definition of SQUARE by saying:
EDIT "SQUARE
The computer will show our old definition of SQUARE:
TO SQUARE
REPEAT 4 [FD 50 RT 90]
END
Using the arrow keys, insert :SIDE after SQUARE, and change the 
50 to :SIDE, so that the definition looks like this:
TO SQUARE
REPEAT 4 [FD :SIDE RT 90]
END
When you've finished the editing, press the ESCAPE key.
  Then if you say ___ 
SQUARE 100
the computer will look at the new definition of SQUARE, realize 
that :SIDE is 100, and do REPEAT 4 [FD 100 RT 90], which draws a 
square having 100 steps on each side.
  After changing the definition of SQUARE in that way, you must 
always put a number after the word SQUARE. If you say SQUARE 100, 
the computer will draw a square whose side is 100; if you say 
SQUARE 6, the computer will draw a square whose side is 6; but if 
you say just SQUARE, the computer won't know how long to make the 
side and will gripe, by saying NOT ENOUGH INPUTS TO SQUARE.
  After changing the definition of SQUARE, you must update the 
definition of PINWHEEL, so that it uses the new definition of 
SQUARE. Edit PINWHEEL so that it becomes:
TO PINWHEEL :SIDE
REPEAT 36 [SQUARE :SIDE RT 10]
END
Then if you say PINWHEEL 50, the computer will draw a normal 
pinwheel; if you say PINWHEEL 100, the computer will draw a 
pinwheel that's twice as long in each direction; if you say 
PINWHEEL 30, the computer will draw a pinwheel that's small.

                                                      Polygon
                                         Let's define POLYGON so 
that POLYGON 5 40 will be a regular polygon having 5 sides, and 
each side will be 40 steps long.
                                         Here's how:
TO POLYGON :N :SIDE
REPEAT :N [FD :SIDE RT 360/:N]
END
                                         In that definition, :N 
is the number of sides (such as 5), and :SIDE is the length of 
each side (such as 40).
                                         That definition will 
draw any regular polygon. For example, if you want a triangle so 
that each side is 60 steps long, say POLYGON 3 70. If you want an 
octagon so that each side is 20 steps long, say POLYGON 8 20.
                                         If you pick a large 
number of sides (such as 36), the polygon will look almost like a 
circle. That's how you can make LOGO imitate a circle!

                                                       Star
                                         Let's define STAR so 
that STAR 5 40 will be a 5-pointed star, and each side will be 40 
steps long.
                                         The definition is almost 
the same as POLYGON's:
TO STAR :N :SIDE
REPEAT :N [FD :SIDE RT 360/:N FD :SIDE LT 720/:N]
END
                                         That definition makes 
the turtle start drawing a polygon, by drawing a polygon's first 
side (FD :SIDE), then turning right by the polygon's angle (RT 
360/:N), then drawing the polygon's second side (FD :SIDE). But 
then the turtle veers sharply to the left (LT 720/:N). Repeating 
that procedure :N times produces a star:
                                         Choose as many points as 
you wish. For a 5-pointed star, say STAR 5 40. For a 6-pointed 
star (a ``Jewish star''), say STAR 6 40. For an 8-pointed star 
that's smaller and has just 20 steps per side, say STAR 8 20.
              Recursion
  Here's a poem about LOGO lovers:
LOGO LOVERS LOOK LOVELY!
LINGERING LINES, LONGINGLY LEFT!
  Let's program the computer so that when you say LOVERS, the 
computer will print that poem again and again, forever, like 
this:
LOGO LOVERS LOOK LOVELY!
LINGERING LINES, LONGINGLY LEFT!

LOGO LOVERS LOOK LOVELY!
LINGERING LINES, LONGINGLY LEFT!

LOGO LOVERS LOOK LOVELY!
LINGERING LINES, LONGINGLY LEFT!

etc.
  Type this:
TO LOVERS
PR [LOGO LOVERS LOOK LOVELY!]
PR [LINGERING LINES, LONGINGLY LEFT!]
PR []
LOVERS
END
The three PR statements make the computer print the poem and a 
blank line underneath. The bottom line says END; but above the 
word END, I inserted the word LOVERS, which makes the computer do 
LOVERS again, so the computer again prints the poem and blank 
line and comes to the LOVERS line again, so the computer again 
prints the poem and blank line and comes to the LOVERS line 
again, etc. The program's an infinite loop.
  After you type that definition of LOVERS, you can activate it 
by saying just LOVERS or ___ better yet ___ say TEXTSCREEN and 
then LOVERS.
  To abort the program, press the BREAK key.
  Notice I inserted the word LOVERS into the definition of 
LOVERS, so that LOVERS is defined in terms of itself. That's 
called a self-referent definition or circular definition or 
recursive definition. Using recursive definitions is called 
recursion. In LOGO, recursion's the usual way to create loops.
   Differences Atari 800 LOGO and Radio Shack Color LOGO let you 
abort by tapping the BREAK key, but most other versions of LOGO 
abort differently. For IBM LOGO, tap the BREAK key while holding 
down the CONTROL key. For LOGO Writer, tap the ESCAPE key. For 
Apple LOGO 2, tap the ESCAPE key while holding down the Open 
Apple key. For Apple LOGO 1, Atari ST LOGO, DR LOGO, and MIT 
versions, tap the G key while holding down the CONTROL key.

                                                     Countdown
                                         Let's program the 
computer so that COUNTDOWN 10 will make the computer count down 
from 10, like this:
10
9
8
7
etc.
                                         Here's the definition:
TO COUNTDOWN :N
PR :N
COUNTDOWN :N-1
END
To count down from a number N, that definition tells the computer 
to print the number N and then count down from N-1.
                                         Unfortunately, that 
definition's an infinite loop! For example, if you say COUNTDOWN 
10, that definition will make the computer print 10, 9, 8, 7, 6, 
5, 4, 3, 2, 1, 0, -1, -2, -3, -4, etc., forever!
                                         Let's edit that 
definition, to STOP the computer from printing negative numbers. 
Say:
EDIT "COUNTDOWN
Then use the arrow keys, to change the definition of COUNTDOWN to 
this:
TO COUNTDOWN :N
IF :N<0 [STOP]
PR :N
COUNTDOWN :N-1
END
                                          Differences For MIT 
versions, omit the brackets around STOP.

                                                      Squiral
                                         Let's make the computer 
draw the first side of a square (by saying FD :SIDE), then turn 
right 90 degrees (by saying RT 90), then draw the second side ___ 
but make the second side shorter than the first! Then make the 
third side even shorter! Then make the fourth side even shorter!
                                         The result will be a 
``shrinking square'' whose fourth side doesn't meet the first 
side. It looks something like a square, but it spirals inward, 
becoming smaller. It's called a squiral.
                                         To create an amazing 
squiral, feed the computer this definition:
TO SQUIRAL :SIDE
FD :SIDE
RT 90
SQUIRAL :SIDE-3
END
That program's an infinite loop. The side becomes smaller and 
smaller (decreasing by 3 each time), until finally the side 
becomes a negative number, which makes the turtle go wild and 
draw fascinating weird graphics on the screen.
                                         Feed the computer that 
definition. Then for the most dramatic results, feed the computer 
this definition ___ 
TO DRAMATICSQUIRAL
WRAP
PENREVERSE
FULLSCREEN
SQUIRAL 100
END
and type:
DRAMATICSQUIRAL


              WORKSPACE
  When you invent a definition, the computer puts it into a part 
of the RAM called the workspace. The workspace holds your 
definitions of names (such as MAKE "DRINKINGAGE 21) and your 
definitions of procedures (such as TO SQUARE do REPEAT 4 [FD 50 
RT 90] then END).

              Printouts
  To see all those definitions on your screen, say TEXTSCREEN, so 
that the computer can use the entire screen for text; then say 
POALL, which means Print Out ALL. The computer will print out all 
the definitions. For example, if you defined the name DRINKINGAGE 
and then MAGICNUMBER, and then defined the procedure SQUARE :SIDE 
and then PINWHEEL :SIDE, the computer will print all those 
definitions, like this:
TO PINWHEEL :SIDE
REPEAT 36 [SQUARE :SIDE RT 10]
SQUARE
END

TO SQUARE :SIDE
REPEAT 4 [FD :SIDE RT 90]
END

MAKE "MAGICNUMBER 7
MAKE "DRINKINGAGE 21
The computer begins with the newest procedure (PINWHEEL), then 
any other procedures (such as SQUARE), then the newest name 
(MAGICNUMBER), then any other names (such as DRINKINGAGE).
  If you don't want to see all that, you can ask for an 
abridgment. To see definitions of just the procedures (PINWHEEL 
and SQUARE), say POPS, which means Print Out ProcedureS. To see 
definitions of just the names (MAGICNUMBER and DRINKINGAGE), say 
PONS, which means Print Out NameS.
  To see just the top line of each procedure, say POTS, which 
means Print out TopS or Print Out TitleS; the computer will 
print:
TO PINWHEEL :SIDE
TO SQUARE :SIDE
  To see the definition of just the SQUARE procedure, say PO 
"SQUARE. That makes the computer print the definition of SQUARE 
:SIDE. To see that definition first, then the definition of 
PINWHEEL, say PO [SQUARE PINWHEEL].
   Differences LOGO Writer doesn't understand any of those 
commands; instead, tap the F key while holding down the CONTROL 
or Open Apple key, then browse through all the procedures you 
created, by pressing the up-arrow and down-arrow keys.
  For MIT versions, change POALL to PO ALL, change POPS to PO 
PROCEDURES, change PONS to PO NAMES, change POTS to PO TITLES, 
and change PO "SQUARE to PO SQUARE.

                                              Erasing the definitions
                                         If you no longer need 
the definitions you invented, you can erase them.
                                         To ERase ALL the 
definitions, say ERALL. To ERase just the definitions of 
ProcedureS (such as PINWHEEL and SQUARE), say ERPS. To ERase just 
the definitions of NameS (such as MAGICNUMBER and DRINKINGAGE), 
say ERNS.
                                         To ERASE just the 
definition of the PINWHEEL procedure, say:
ERASE "PINWHEEL
The abbreviation for ERASE is ER.
                                         To ERase just the 
definition of the Name MAGICNUMBER, say ERN "MAGICNUMBER.
                                          Differences LOGO 
Writer doesn't understand any of those commands; instead, get 
onto the screen the procedures you want to erase, then erase them 
by holding down the DELETE or BACKSPACE key.
                                         For MIT versions, change 
ERALL to ER ALL, change ERPS to ER PROCEDURES, change ERNS to ER 
NAMES, change ERASE "PINWHEEL to ERASE PINWHEEL, and change ERN 
to ERNAME.

                                                  Saving to disk
                                         After you've formatted a 
blank disk (by using DOS or BASIC or some other method), you can 
put that disk into the drive and copy all your definitions onto 
the disk. Here's how.
                                         Invent a filename (such 
as FRED) and say SAVE "FRED. On the disk, the computer will 
create a new file called FRED and copy all your definitions to 
FRED.
                                         Later, whenever you want 
to use FRED, just say LOAD "FRED. The computer will go to the 
disk, find FRED, and copy FRED's definitions to the RAM, so you 
can use them.
                                         To see a list of all the 
LOGO files on your disk, say CATALOG.
                                         To delete FRED from the 
disk, say ERASEFILE "FRED.
                                          Differences For MIT 
versions, change LOAD to READ. For IBM LOGO, DR LOGO, and Atari 
ST LOGO, change CATALOG to DIR. For LOGO Writer, change ERASEFILE 
to ERPAGE, change LOAD to GETPAGE (or GP), change CATALOG to PR 
PAGELIST, and change SAVE "FRED to NAMEPAGE "FRED NEWPAGE (or NP 
"FRED NEWPAGE). For the Atari 800, change ERASEFILE to ERF, 
change "FRED to "D:FRED, and change CATALOG to CATALOG "D:.
