Table of Contents

Logo Commands

This section contains an alphabetic listing of all Logo commands.

.Top ⬆

.DEFMACRODefines a macro.
.MACRODefines a macro.
.MAYBEOUTPUTExits a procedure and outputs a value if present.
.WHOReports a list of objects listening to commands.

ATop ⬆

ABOUTA user-defined procedure to display information about your program.
ABSReports the absolute value of a number.
AGETReports the value of an array element.
ALERTDisplays an alert box.
ALIASDefines alias names.
ALLTURTLESA list of all turtles.
ALPHAReports the first active turtle's alpha value.
ANDLogical AND.
APPENDMENUAppends a new menu.
APPENDMENUITEMAppends a new menu item.
APPLYApplies a parameter list to a procedure.
ARCDraws an arc.
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.
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 the list of nested procedure calls.
BGPATTERNReports the background pattern.
BLUEBOT.BATTERYReports Blue-Bot's battery level.
BLUEBOT.CLEARClears all commands stored in Blue-Bot's memory.
BLUEBOT.CLOSEDisconnects the Blue-Bot from Logo.
BLUEBOT.GOExecutes commands stored in Blue-Bot's memory.
BLUEBOT.RUNExecutes Blue-Bot commands.
BLUEBOT.WRITEDownloads a procedure to Blue-Bot.
BLUEBOT? (BLUEBOTP, BLUEBOT.OPEN)Tests if the Blue-Bot is connected and ready to receive commands.
BOUNCELets the turtles bounce off the graphics bounds inside the Graphics canvas.
BOUNDSReports the drawing bounds of the Graphics canvas.
BPCLEARDeletes all breakpoints.
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 the left mouse button.
BYE (QUIT, EXIT)Ends Logo.

CTop ⬆

CASEOutputs a value based on an input value.
CATCHCatches runtime errors and THROWn data.
CHARConverts a number into a Unicode character.
CHECKTYPEChecks an value for a type.
CLEANErases the graphics canvas.
CLEARSCREEN (CS)Erases the graphics pane and homes the turtle.
CLEARTEXT (CT)Clears the Listener pane.
CLOSECloses a stream.
COLORReports the RGB color value for a color name or color index.
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.
CONTENTS (CO)Outputs a complete structured contents list.
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.DIR (MKDIR)Creates 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 a file or a folder.
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.
DO.UNTILRuns a list until a condition is true.
DO.WHILERuns a list until a condition is false.
DOTDraws a dot.
DOT? (DOTP)Tests whether a pixel is present at the given location.
DOTCOLORReports the color of a pixel.
DRAWClears the current graphics canvas and resets all attached turtles.

ETop ⬆

EACHApplies a runlist to every object in the TELL list.
EDALLEdits the entire Logo workspace.
EDITEdits parts or all of the Logo workspace.
EDITFILE (EDF)Opens an editor to edit a file.
EDNEdits one or more Logo names.
EDNSEdits all Logo names.
EDPLEdits one or more Logo property lists.
EDPLISTEdits the properties of a lrpoerty list, a widget, or a panel.
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.
ERALLErases 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.
ERROROutputs the last runtime error.
EVALRuns a list and collects all outputs.
EVERYOutputs a list of objects.
EXPN (EXP)Calculates the natural base e raised to a power.

FTop ⬆

FENCEFences all turtles inside the drawing bounds.
FILE? (FILEP)Reports TRUE if a file or directory exists.
FILLFills an area.
FILLARRAYSets the values of an array.
FILLGRIDSets the text values of a grid.
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.
FORMFormats a number.
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 ⬆

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.
GGETOutputs the name of a widget stored in a grid cell.
GGETTEXTOutputs the text of a grid cell.
GLISTReports the property lists that contain a property with a given name.
GOJumps to a label inside a procedure.
GOOGLEFONTSReports a list of all available Google fonts.
GPPROPAlters a property of a grid, a row, a column, or a cell.
GPROPRetrieves a property.
GRIDSets the characteristics of the graphics grid.
GRIDDIMSReports the size of a grid.
GRIDOFFHides the grid of the Graphics window.
GRIDONDisplays the grid of the Graphics window.
GSETStores a widget into a grid cell.
GSETTEXTStores a text into a grid cell.

HTop ⬆

HALTStops one or all background programs.
HEADINGReports the heading of a turtle.
HELPDisplays help for a command.
HIDETURTLE (HT)Hides a turtle.
HOMEMoves the turtle back to [0 0].
HTMLCreates and outputs a HTML sequence.

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.

JTop ⬆

JOINConverts a list to a word.

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.
LEDControls a robot's LEDs.
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.
LISTGRIDReports the values of a grid as a list.
LMAKE (LOCALMAKE)Create and set a local name.
LOADLoads a file into Logo.
LOADFONTLoads a Google font or a list of Google fonts.
LOADPICLoads a picture as background picture.
LOADSHAPELoads a turtle shape from a data space 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.
LSHIFTShifts its input without sign extension.
LTURTLESArranges turtles in a row.

MTop ⬆

MACRO? (MACROP)Checks its input for being a macro.
MACROEXPANDOutputs the expansion of a macro.
MAKEAssigns a value to a name.
MEMBER? (MEMBERP)Checks if an object is part of another object.
MIDI.RECORDRecords and saves music commands that PLAY plays.
MILLISECONDSOutputs the number of milliseconds spent.
MINUSOutputs the negative value of its input.
MIXEDCASEConverts its argument to mixed case.
MODULOOutputs the remainder of two numbers.
MOTORSControls a robot's motors.
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 ⬆

OPACITYReports the opacity of the first active turtle.
OPENOpens a file and returns the channel number.
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.
PATHNAMEReports the full path name for a file name.
PATTERNReports the turtle's pattern.
PAUSEPauses a procedure.
PDISTReports the distance from the turtle to its home.
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.
PHELPDisplays help for a property.
PIReports the number Pi.
PICKRandomly picks an element.
PLAYPlays sound files or notes.
PLAY.NOTESPlays simple songs on a robot's speaker.
PLAY.SOUNDPlay a predefined sound on a robot's speaker.
PLISTReports the property list of a name.
PLIST? (PLISTP)Checks its input for containing a property list.
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.
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.CLOSEDisconnects the Pro-Bot from Logo.
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, PROBOT.OPEN)Tests if a Pro-Bot is connected and ready to receive commands. For backwards compatibility, PROBOT.OPEN is synonymous to PROBOT?.
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.
PROGRESSBARDisplays a progress bar.
PSETHEADING (PSETH)Sets the polar heading of a turtle.

QTop ⬆

QUOTEQuotes its input.

RTop ⬆

RADARCTAN (RADATAN)Reports the arc tangent of an angle expressed in radians.
RADCOSReports the cosine of an angle expressed in radians.
RADSINReports the sine of an angle expressed in radians.
RANDOMOutputs a random number.
READReads one Logo word.
READCHAR (RC)Read a character from the standard input stream.
READFILEReads and parses the contents of a file.
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.
READWORD (RW)Reads the next word of a line.
REMOVERemoves elements from a word or a list.
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.
ROOTBOT.CLOSEDisconnects a Root robot.
ROOTBOT? (ROOTBOTP)Tests if a Root robot is connected and ready to receive commands.
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 the shape of the first active turtle.
SAVESNAPSaves a turtle shape.
SAYMakes Logo speak its input.
SECReports the secant.
SELECT.BLUETOOTHSelects a Bluetooth device.
SELECT.FILEDisplays a dialog to select a file.
SELECT.FOLDERDisplays a dialog to select a folder.
SELECT.VOICEOpens a dialog where you can select a voice for the SAY command.
SENTENCE (SE)Concatenates its inputs to a list, flattening lists.
SETALPHASets the default alpha value for colors.
SETARRAYDIMSSets the structure of an array.
SETBGSets the background color.
SETBGPATTERNSets the background pattern.
SETBOUNDSSet the drawing bounds of the current Graphics canvas.
SETCURDIRChanges the current working directory.
SETFONTSets the turtle drawing font.
SETGRIDDIMSSets the size of a grid.
SETHEADING (SETH)Sets the heading of a turtle.
SETMOUSESHAPESets the shape of the mouse cursor.
SETOPACITYSets the opacity of all active turtles.
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.
SETSHADOWSets the drop shadow for all active turtles.
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.
SETTEXTCOLORSets the text color in the Output panel.
SETTEXTFONTSets the font for PRINT, TYPE and other output commands.
SETTURTLENAME (SETTNAME)Sets the name of a turtle.
SETTURTLES (SETT)Creates a range of turtles.
SETTURTLESIZE (SETTSIZE, SETTS)Sets the scaling factor of a widget.
SETWIDTH (SETW)Sets the pen width.
SETXSets the X coordinate of a turtle.
SETXY (SETPOS)Sets the coordinates of a turtle.
SETYSets the Y coordinate of a turtle.
SHADOWReports the drop shadow for the first active 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 panel into a bitmap.
SNAPSIZEOutputs the size of a bitmap.
SPEEDReports the speed in which turtle commands are executed.
SPLITSplits a word into a list using a separator.
SPLITSCREEN (SS)Makes both the Output panel and the Graphics canvas visible.
SQRTReports the square root.
STAMPDraws a bitmap or turtle.
STAMPOVALDraws an oval.
STAMPRECTDraws a rectangle.
STEPTurns on stepping for the given elements.
STEPPEDOutputs a structured contents list of all stepped elements.
STEPPED? (STEPPEDP)Outputs TRUE if the element described by its input is stepped.
STEPSIZEOutputs the step size of the first active turtle or bitmap.
STOPExits a procedure, or stops a program.
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.
TEXTFONTReports the font used for output.
TEXTSCREEN (TS)Minimizes the Graphics canvas and maximizes the Output panel.
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.
TRACETurns on tracing of the given elements.
TRACEDOutputs a structured contents list of all traced elements.
TRACED? (TRACEDP)Outputs TRUE if the element described by its input is traced.
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 scaling factor of a turtle.
TURTLETEXT (TT)Prints its input on the Graphics canvas.
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.
UNICODEConverts a character into its Unicode value.
UNLOCKSHAPELets a bitmap rotate according to the turtle's heading.
UNSTEPTurns off stepping of the given elements.
UNTILRuns a list until a condition is true.
UNTRACETurns off tracing of the given elements.
UPPERCASEConverts its argument to upper case.

VTop ⬆

VERINFOOutputs Logo version information as a list.
VERSION (VER)Outputs the Logo version.

WTop ⬆

WAITWaits for a number of milliseconds.
WEBLINKCreates and outputs a HTML web link.
WHENMonitors a change to a Logo property or to a Logo event.
WHENEVERMonitors changes to a Logo property or to a Logo event.
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.
WORDConcatenates its inputs to a word.
WORD? (WORDP)Checks its input for being a word.
WRAPLets the turtles wrap inside the canvas.
WRITEFILEStores a Logo word or list into a file.

XTop ⬆

XLISTConcatenates its inputs to a parenthesized list.

VariablesTop ⬆

"LOGO.ENVContains a property list of global program and system settings.
"PREFSSystem-wide properties.
:CASEControls the conversion of quoted symbols to upper case.
:CURRENT.GRAPHICSContains the current graphics window name.
:DEFAULT.LAYOUTReports the default Logo panel layout
:EPSILONContains the minimum value that two numbers may differ to still be considered to be equal.
:ERRORContains the type of the last runtime error.
:ERRORTEXTReports the text of the last caught runtime error or THROWn word.
:FENCEDefines the way turtles bounce off the edges of the Graphics screen.
:INITIAL.LAYOUTReports or sets the initial Logo panel layout
:LANGUAGEReports Logo's UI language.
:LAYOUTGets or sets the panel layout.
:MIDI.OUTPUTContains the name of the music synthesizer that Logo uses to play music.
:MIDI.OUTPUTSReturns a list of synthesizer names that Logo supports for playing music.
:PICTURE.FORMATContains the default file extension for graphics files.
:PRECISIONSets the precision in which numbers are printed.
:PROMPTGets or sets the prompt for the Listene.
: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 user name for local storage.

Math OperatorsTop ⬆

% (REMAINDER)Outputs the remainder of two numbers.
* (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.
^ (POWER)Raises a number to the power of another number.