Table of Contents

Logo Commands

This section contains an alphabetic listing of all Logo commands.

.Top ⬆

.WHOReports a list of objects listening to commands.
.WINDOWSCall a Windows system function (not available on the Mac).

ATop ⬆

ABOUTUser-supplied procedure to display an About box.
ABSReports the absolute value of a number.
ACTIVEWINDOW (ACTIVEW)Reports the name of the active graphics window.
AGETReports the value of an array element.
ALERTDisplays an alert box.
ALIASDefines alias names.
ALL (CONTENTS, CO)Outputs a complete structured contents list.
ALLTURTLESA list of all turtles.
ANDLogical AND.
APPENDMENUAppends a new menu.
APPENDMENUCOMMANDAppends a new menu item.
APPENDMENUITEMAppends a new menu item.
APPLYApplies a parameter list to a procedure.
ARCCOS (ACOS)Reports the arccosine.
ARCCOT (ACOT)Reports the arccotangent.
ARCCSC (ACSC)Reports the arccosecant.
ARCSEC (ASEC)Reports the arcsecant.
ARCSIN (ASIN)Reports the arcsine.
ARCTAN (ATAN)Reports the arctangent.
ARCTAN2 (ATAN2)Reports the polar angle heading of the motion vector (position change) deltaX deltaY.
ARRAYCreates an array.
ARRAY? (ARRAYP)Reports TRUE if the object is an array.
ARRAYDIMSReports the structure of an array.
ASCIIConverts a character into its ASCII value.
ASETSets the value of an array element.
ASKMakes objects execute a list of commands.

BTop ⬆

BACK (BK)Moves a turtle backwards.
BACKGROUND (BG)Reports the background color.
BACKTRACE (BT)Prints a backtrace.
BGPATTERNReports the background pattern.
BLUEBOT.CLEARClears all commands stored in Blue-Bot's memory.
BLUEBOT.CLOSECloses the Blue-Bot connection.
BLUEBOT.GOExecutes commands stored in Blue-Bot's memory.
BLUEBOT.OPENOpens the connection to Blue-Bot.
BLUEBOT.RUNExecutes Blue-Bot commands.
BLUEBOT.STATUSReports status information about Blue-Bot.
BLUEBOT.WRITEDownloads a procedure to Blue-Bot.
BLUEBOT? (BLUEBOTP)Tests if the Blue-Bot drivers are installed.
BURIEDOutputs a structured contents list of all buried elements.
BURIED? (BURIEDP)Outputs TRUE if the element described by its input is buried.
BURIEDNAMESOutputs a list of all buried names.
BURIEDPROCSOutputs a list of all buried procedures.
BURIEDPROPSOutputs a list of all buried property lists.
BURYMakes names and procedures invisible.
BURYALLMakes all names and procedures invisible.
BURYNAMEMakes one or more names invisible.
BURYNAMESMakes all names invisible.
BURYPROCMakes one or more procedures invisible.
BURYPROCSMakes all procedures invisible.
BURYPROPMakes one or more property lists invisible.
BURYPROPSMakes all property lists invisible.
BUTFIRST (BF)Reports all but the first element of its input.
BUTLAST (BL)Reports all but the last element of its input.
BUTMEMBER (BM)Removes an element from its input.
BUTTON? (BUTTONP)Reports the state of a mouse button.
BYE (QUIT, EXIT)Ends Logo.
BYTEARRAYCreates an array of byte values.
BYTEARRAY? (BYTEARRAYP)Reports TRUE if the object is a bytearray.

CTop ⬆

CATCHCatches runtime errors and THROWn data.
CHARConverts a number into a Unicode character.
CHECKTYPEChecks an value for a type.
CLEANErases the graphics pane.
CLEARINPUTClears all input from a stream.
CLEARSCREEN (CS)Erases the graphics pane and homes the turtle.
CLEARTEXT (CT)Clears the Listener pane.
CLOSECloses a stream.
CLOSEWINDOWCloses a window.
COLORReports the color for a name or value if possible.
COLORINDEX (BASECOLOR)Coerces a color value to a basic Logo color number.
COLORNAMEReports the name of a color if possible.
COLORSReports a list of available color names.
COMMANDInvoke a menu command by its ID number.
CONTINUE (CO)Ends a pause.
COPYDEFCopies a procedure definition.
COSReports the cosine.
COTReports the cotangent.
COUNTCounts the number of items in its input.
CPROPCalls a property as a procedure.
CREATECreates a file.
CREATE.DIRCreates a folder.
CSCReports the cosecant.
CTURTLESArranges turtles in a circle.
CURDIRReports the current working directory.

DTop ⬆

DATEReports the date.
DECLARE (DCL)Creates an object.
DEFINEDefines a procedure.
DEFINED? (DEFINEDP)Checks whether a procedure is defined.
DELETEDeletes one or more files from disk.
DELETEMENUDeletes a menu.
DELETEMENUITEMDeletes a menu item.
DIRECTORY (DIR)Lists the contents of current working directory.
DISTANCEReports the distance between the turtle and a location.
DOTDraws a dot.
DOT? (DOTP)Tests whether a pixel with a color other than the background color is present.
DOTCOLORReports the color of a pixel.
DRAWClears the current graphics window and resets all attached turtles.

ETop ⬆

EACHApplies a runlist to every object in the TELL list.
EDALLEdits the entire Logo workspace.
EDIT (ED)Edits parts or all of the Logo workspace.
EDLEdits a list.
EDNEdits one or more Logo names.
EDNSEdits all Logo names.
EDPEdits one or more Logo procedures.
EDPLEdits one or more Logo property lists.
EDPLSEdits all Logo properties.
EDPSEdits all user-defined, unburied procedures.
ELSEStarts the ELSE branch of an IF command.
EMPTY? (EMPTYP)Checks whether a name is empty.
ENDEnds a procedure definition.
EOF? (EOFP)Outputs TRUE if the current stream is at EOF.
ERALLEdits the entire Logo workspace.
ERASE (ER)Erases Logo elements.
ERNErase one or more Logo names.
ERNSErases all Logo names.
ERPLErases one or more Logo property lists.
ERPLSErases all Logo properties.
ERPSErases all procedures.
EVALRuns a list and collects all outputs.
EVERYOutputs a list of objects.
EXECTIMEOutputs the number of microseconds spent inside a procedure.
EXPN (EXP)Calculates the natural base e raised to a power.
EXTENTReports the extent of the current Graphics window.

FTop ⬆

FENCEFences all turtles inside the drawing borders.
FILE.INFOReports information about a file.
FILE? (FILEP)Reports TRUE if a file or directory exists.
FILLFills an area.
FILLARRAYSets the values of an array.
FINDMENUIDFinds the ID of a menu item.
FIRSTReports the first element of its input.
FLATTENReports a flat version of its list input.
FONTReports the current font of the first active turtle.
FONTSReports a list of all loaded and available fonts.
FORRuns a list for a defined number of times.
FOREACHRuns a list for each element of its first input.
FOREVERRuns a list forever.
FORWARD (FD)Moves a turtle forward.
FPUTPrepends an element to its input.
FROMMEMBER (FM)Removes the first part of its input until a pattern is found.
FULLSCREEN (FS)Switches to the Full Screen perspective.

GTop ⬆

GETBYTEReads one byte from the input stream.
GETX (XCOR)Reports the X coordinate of a turtle.
GETXY (POS)Reports the coordinates of a turtle.
GETY (YCOR)Reports the Y coordinate of a turtle.
GLISTReports the property lists that contain a property with a given name.
GOJumps to a label inside a procedure.
GPROPRetrieves a property.
GRIDSets the size of the graphics grid.
GRIDOFFHides the grid of the Graphics window.
GRIDONDisplays the grid of the Graphics window.

HTop ⬆

HALTStops one or all background procedures.
HEADINGReports the heading of a turtle.
HELPDisplays help for a command.
HIDETURTLE (HT)Hides a turtle.
HOMEMoves the turtle back to [0 0].

ITop ⬆

IFRuns instructions based on a condition.
IFFALSE (IFF)Runs a list if TEST was false.
IFTRUE (IFT)Runs a list if TEST was true.
IGNOREIgnores the output of a procedure.
INTReports the integer part of a number.
IS.AChecks an object for being of a specific type.
ISEQOutputs a list of sequential integers.
ITEMReturns a specific element of its input.

KTop ⬆

KEYReports the code of the last key that the user typed.

LTop ⬆

LABELMarks a target for the GO command.
LASTReports the last element of its input.
LAUNCHLaunches a runlist or procedure for execution in the background.
LEFT (LT)Turns a turtle left.
LISTConcatenates its inputs to a list.
LIST? (LISTP)Checks for its input being a list.
LISTARRAYReports the values of an array as a list.
LOADLoads a file into Logo.
LOADPICLoads a picture as background picture.
LOADSHAPELoads a turtle shape from disk and sets the shape of all active turtles.
LOADSNAPLoads a bitmap.
LOCALDeclares local variables inside a procedure.
LOCKSHAPEPrevents a bitmap from turning.
LOG (LN)Outputs the natural logarithm of its input.
LOG10Outputs the logarithm of its input.
LOGANDCombines its inputs with a boolean AND operation.
LOGNOTReports the bitwise logical complement of its input.
LOGORCombines its inputs with a boolean OR operation.
LOGXORCombines its inputs with a boolean XOR operation.
LOWERCASEConverts its argument to lower case.
LPUTAppends an element to its input.
LSH (ASHIFT)Shifts its input with sign extension.
LTURTLESArranges turtles in a row.

MTop ⬆

MAKEAssigns a value to a name.
MEMBER? (MEMBERP)Checks if an object is part of another object.
MILLISECONDSOutputs the number of milliseconds spent since January 1, 1970.
MIXEDCASEConverts its argument to mixed case.
MODULOOutputs the remainder of two numbers.
MOUSEReports the position of the mouse cursor.
MOUSESHAPEReports the shape of the mouse cursor.

NTop ⬆

NAMEAssigns a value to a name.
NAME? (NAMEP)Checks whether its input is assigned a value.
NAMELISTOutputs a structured contents list with names.
NAMESOutputs a structured contents list with all names.
NEWCreates a new Logo object.
NOTNegates its input.
NUMBER? (NUMBERP)Checks its input for being a number.

OTop ⬆

ONCOMMANDDefines the commands that execute when a menu item is selected.
OPENOpens a file and returns the channel number.
OPEN.PORTOpens a serial port for I/O.
ORPerforms a logical OR on its input.
ORIGINReports the origin of a turtle's coordinate system.
OUTPUT (OP)Exits a procedure and outputs a value.

PTop ⬆

PANGLEReports the turtle's angle as a polar angle.
PARSEParses a string and outputs a list.
PATTERNReports the turtle's pattern.
PAUSEPauses a procedure.
PDISTReports the distance from the turtle to its home.
PEEKBYTEReturns the next character from the input stream without reading it.
PENReports the pen mode.
PENCOLOR (PC)Reports the pen color.
PENDOWN (PD)Puts the pen down.
PENDOWN? (PENDOWNP)Checks whether the pen is down.
PENERASE (PE)The pen draws with the background color.
PENREVERSE (PX)The pen inverts all colors.
PENUP (PU)The pen moves up.
PHEADINGReports the turtle's polar heading.
PIReports the number Pi.
PICKRandomly picks an element.
PLAYPlays sound files and lists of notes.
PLISTReports the property list of a name.
PLISTS (PROPERTIES)Outputs a structured contents list with all properties.
PLLISTOutputs a structured contents list with properties.
POALLPrints the entire Logo workspace.
PONPrints a Logo name.
PONSPrints all Logo names.
POPLPrints one or more Logo property lists.
POPLSPrints all Logo properties.
POPRSPrints the title of all Logo primitives.
POPSPrints all Logo procedures.
POTPrints the title line of one or more user-defined procedures.
POTSPrints the title line of all user-defined procedures.
PPOSReports the turtle's polar position.
PPROPStores a property.
PPROPSStores a list of properties.
PRIMITIVE? (PRIMITIVEP)Checks its input for being a built-in procedure or macro.
PRIMITIVESOutputs a structured contents list with all primitives.
PRINT (PR)Prints text with a line feed.
PRINTLINEPrints a list of numbers as Unicode characters.
PRINTOUT (PO)Prints procedures, names, or properties.
PRINTQUOTE (PQ)Prints its input and a newline.
PROBOT.LIGHTSTurns the Pro-Bot's headlights on or off.
PROBOT.READUploads all Pro-Bot procedures into Logo's workspace.
PROBOT.SOUNDPlays Pro-Bot sounds.
PROBOT.WRITEDownloads all Pro-Bot procedures to the Pro-Bot.
PROBOT? (PROBOTP)Tests if a Pro-Bot is connected.
PROCEDURE? (PROCEDUREP)Checks its input for being a user-defined procedure.
PROCEDURESOutputs a list with all user procedures.
PROCLISTOutputs a structured contents list with procedures.
PSETHEADING (PSETH)Sets the polar heading of a turtle.
PUTBYTEWrites a data byte or a Unicode character to the output stream.
PUTBYTESWrites data bytes or characters to the output stream and reads a reply.

QTop ⬆

QUOTEQuotes its input.

RTop ⬆

RANDOMOutputs a random number.
READReads one Logo word.
READCHAR (RC)Reads a character from the input stream.
READLINEReads a line and outputs it as a list of numbers.
READLIST (RL)Reads a line and outputs it as a list.
READPROMPT (RP)Opens a dialog box and reads a line.
READQUOTE (RQ)Reads a line.
READWORDReads the first word of a line.
RECYCLEStarts the garbage collector.
REMPROPRemoves a property.
RENAMERenames a disk file.
REPCOUNTReports the value of the REPEAT counter.
REPEATRuns a runlist repeatedly.
REPTOTALReports the total number of REPEATs.
RERANDOMSeed the random number generator.
RESTARTErases everything and restarts Logo.
RIGHT (RT)Turns a turtle right.
ROUNDRounds a number.
RSEQOutputs a list of equally spaced rational numbers.
RUNRuns a word or list.

STop ⬆

SAVESaves the workspace to disk.
SAVEPICSaves the contents of the Graphics window.
SAVESHAPESaves a turtle shape.
SAVESNAPSaves a turtle shape.
SECReports the secant.
SELECT.FILEDisplays a dialog to select a disk file.
SELECT.FOLDERDisplays a dialog to select a disk folder.
SENTENCE (SE)Concatenates its inputs to a list, flattening lists.
SETACTIVEWINDOW (SETACTIVEW)Sets the name of the active window.
SETBGSets the background color.
SETBGPATTERNSets the background pattern.
SETCURDIRChanges the current working directory.
SETEXTENTSet the extent of the current Graphics window.
SETFONTSets the turtle drawing font.
SETHEADING (SETH)Sets the heading of a turtle.
SETMOUSESHAPESets the shape of the mouse cursor.
SETORIGINSets the coordinate system origin of the active turtles.
SETPSets the turtle's polar position.
SETPATTERNSets the turtle pattern.
SETPCSets the pen color.
SETPENSets the pen characteristics.
SETSHAPESets the shape of all active turtles.
SETSPEEDSets the speed in which turtle commands are executed.
SETSTEPSIZESets the step size of all active turtles and bitmaps.
SETTURTLENAME (SETTNAME)Sets the name of a turtle.
SETTURTLES (SETT)Creates a range of turtles.
SETTURTLESIZE (SETTSIZE, SETTS)Sets the size of a turtle.
SETTWINDOWAttaches a turtle to a Graphics window.
SETVELOCITYSets the independent speed of a turtle.
SETWIDTH (SETW)Sets the pen width.
SETWINSIZESets the size of a window.
SETWPOSSets the position of a window.
SETWSIZESets the size of a floating window.
SETXSets the X coordinate of a turtle.
SETXY (SETPOS)Sets the coordinates of a turtle.
SETYSets the Y coordinate of a turtle.
SHAPEOutputs the name of the first active turtle's shape.
SHOWPrints text with a line feed.
SHOWN? (SHOWNP)Reports whether a turtle is visible.
SHOWTURTLE (ST)Makes a turtle visible.
SINReports the sine.
SLOWTURTLESlows down the turtle to half speed.
SNAPMoves parts of the graphics window into a bitmap.
SNAPSIZEOutputs the size of a bitmap.
SPEEDReports the speed in which turtle commands are executed.
SPLITSCREEN (SS)Switches to the Split Screen perspective.
SQRTReports the square root.
STAMPDraw a bitmap or turtle.
STAMPOVALDraws an oval.
STAMPRECTDraws a rectangle.
STEPSIZEOutputs the step size of the first active turtle or bitmap.
STOPExits a procedure.
SUBDIRLists the contents of current working directory.
SUBSTSubstitutes text in a word or a list.

TTop ⬆

TANReports the tangent.
TELLDefines a list of objects listening to commands.
TELLALLTells a range of turtle numbers.
TELLEVENTells all turtles with even numbers.
TELLODDTells all turtles with odd numbers.
TESTTest a condition; used with IFTRUE and IFFALSE.
TEXTOutputs a procedure definition.
TEXTARRAYSets the structure of an array.
TEXTSCREEN (TS)Switches to the Text Screen perspective.
THENStarts the THEN branch of an IF command.
THINGReports the value of a name.
THROWThrows a Logo word or a runtime error.
TIMEOutputs the time.
TODefines a procedure.
TOPLEVELReturns to toplevel.
TOWARDSReports the angle of a position compared to the turtle position.
TURTLENAME (TNAME)Gets the name of the first active turtle.
TURTLENAMES (TNAMES)Outputs a list of all turtle names.
TURTLESReports the number of turtles.
TURTLESIZE (TSIZE)Reports the size of a turtle.
TURTLETEXT (TT)Prints its input on the Graphics window.
TURTLETEXTBASE (TTBASE)Outputs the baseline offset of the first listening turtle's font.
TURTLETEXTSIZE (TTSIZE)Outputs the dimensions of a text drawn with the first listening turtle.
TWINDOWOutputs the name of the window of the first active turtle.
TYPEPrints text.
TYPEOFReports the type of a name.

UTop ⬆

UNBURYMakes names and procedures visible.
UNBURYALLMakes all names and procedures visible.
UNBURYNAMEMakes one or more names visible.
UNBURYNAMESMakes all names visible.
UNBURYPROCMakes one or more procedures visible.
UNBURYPROCSMakes all procedures visible.
UNBURYPROPMakes one or more property lists visible.
UNBURYPROPSMakes all property lists visible.
UNGETBYTEPushes back one character to the input stream.
UNLOCKSHAPELets a bitmap rotate according to the turtle's heading.
UPPERCASEConverts its argument to upper case.

VTop ⬆

VELOCITYReports the independent movement speed of a turtle.
VERINFOOutputs Logo version information as a list.
VERSION (VER)Outputs the Logo version.

WTop ⬆

WAITWaits for a number of milliseconds.
WHILERuns a list until a condition is false.
WHOReports a list of objects listening to commands.
WIDTHReports the pen width.
WINDOWRemoves the boundary for turtle movements.
WINSIZEReports the size of a window.
WORDConcatenates its inputs to a word.
WORD? (WORDP)Checks its input for being a word.
WORKSPACE.VIEWSwitches to the Work perspective.
WPOSOutputs the position of a window.
WRAPLets the turtles wrap inside the window.
WSIZEReports the size of a window.

VariablesTop ⬆

"LOGO.ENVContains a property list of global program and system settings.
"PREFSSystem-wide properties.
:BASESets the numeric base used when printing numbers.
:CASEMakes Logo convert its input to upper case or not.
:CURRENT.GRAPHICSContains the current graphics window name.
:CURRENT.WINDOWContains the current window name.
:DATADIRReports the user's data directory.
:DESKTOPDIRReports the desktop directory.
:ERRORContains the type of the last runtime error.
:ERRORTEXTReports the text of the last caught runtime error or THROWn word.
:INITIAL.LAYOUTReports or sets the initial layout of Logo panels.
:LAYOUTReports or sets the layout of Logo panels.
:LOGODIRReports Logo's startup directory.
:PICTURE.FORMATControls the format of saved pictures.
:PRECISIONSets the precision in which numbers are printed.
:STANDARD.INPUTThe number of the input stream.
:STANDARD.OUTPUTThe number of the output stream.
:TABSets the tab stop position.
:TRACEControls the output of debugging information.
:USERNAMEReports the login user ID.

Math OperatorsTop ⬆

* (PRODUCT)Calculates the product of its inputs.
+ (SUM)Reports the sum of its inputs.
- (DIFFERENCE)Outputs the difference of two or more numbers.
/ (QUOTIENT)Reports the quotient of its inputs.
< (.LT, LESS?, LESSP)Tests if its first input is less than its second input.
<= (.LE, LESSEQUAL?, LESSEQUALP)Tests if its first input is less than or equal to its second input.
<> (!=, .NE, NOT.EQUAL?, NOT.EQUALP, NOTEQUAL?, NOTEQUALP)Tests its inputs for inequality.
= (.EQ, EQUAL?, EQUALP)Tests its inputs for equality.
> (GREATER?, GREATERP, .GT)Tests if its first input is greater than its second input.
>= (.GE, GREATEREQUAL?, GREATEREQUALP)Tests if its first input is greater than or equal to its second input.
REMAINDER (%)Outputs the remainder of two numbers.
^ (POWER)Raises a number to the power of another number.