about summary refs log tree commit diff stats
path: root/js/games/nluqo.github.io/~bh/docs
diff options
context:
space:
mode:
authorelioat <elioat@tilde.institute>2023-08-23 07:52:19 -0400
committerelioat <elioat@tilde.institute>2023-08-23 07:52:19 -0400
commit562a9a52d599d9a05f871404050968a5fd282640 (patch)
tree7d3305c1252c043bfe246ccc7deff0056aa6b5ab /js/games/nluqo.github.io/~bh/docs
parent5d012c6c011a9dedf7d0a098e456206244eb5a0f (diff)
downloadtour-562a9a52d599d9a05f871404050968a5fd282640.tar.gz
*
Diffstat (limited to 'js/games/nluqo.github.io/~bh/docs')
-rw-r--r--js/games/nluqo.github.io/~bh/docs/html/usermanual.html12160
1 files changed, 12160 insertions, 0 deletions
diff --git a/js/games/nluqo.github.io/~bh/docs/html/usermanual.html b/js/games/nluqo.github.io/~bh/docs/html/usermanual.html
new file mode 100644
index 0000000..39a6002
--- /dev/null
+++ b/js/games/nluqo.github.io/~bh/docs/html/usermanual.html
@@ -0,0 +1,12160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>BERKELEY LOGO 6.2</title>
+
+<meta name="description" content="BERKELEY LOGO 6.2">
+<meta name="keywords" content="BERKELEY LOGO 6.2">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<link href="usermanual.html#Top" rel="start" title="Top">
+<link href="usermanual.html#INDEX" rel="index" title="INDEX">
+<link href="usermanual.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="https://people.eecs.berkeley.edu/~bh/docs/html/dir.html#Top" rel="up" title="(dir)">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.indentedblock {margin-right: 0em}
+blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style: oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nolinebreak {white-space: nowrap}
+span.roman {font-family: initial; font-weight: normal}
+span.sansserif {font-family: sans-serif; font-weight: normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<h1 class="settitle" align="center">BERKELEY LOGO 6.2</h1>
+
+
+
+
+
+ 
+
+<a name="SEC_Overview"></a>
+<h2 class="shortcontents-heading">Short Table of Contents</h2>
+
+<div class="shortcontents">
+<ul class="no-bullet">
+<li><a name="stoc-Introduction" href="usermanual.html#toc-Introduction">1 Introduction</a></li>
+<li><a name="stoc-Data-Structure-Primitives" href="usermanual.html#toc-Data-Structure-Primitives">2 Data Structure Primitives</a></li>
+<li><a name="stoc-Objects" href="usermanual.html#toc-Objects">3 Objects</a></li>
+<li><a name="stoc-Communication" href="usermanual.html#toc-Communication">4 Communication</a></li>
+<li><a name="stoc-Arithmetic" href="usermanual.html#toc-Arithmetic">5 Arithmetic</a></li>
+<li><a name="stoc-Logical-Operations" href="usermanual.html#toc-Logical-Operations">6 Logical Operations</a></li>
+<li><a name="stoc-Graphics" href="usermanual.html#toc-Graphics">7 Graphics</a></li>
+<li><a name="stoc-Workspace-Management" href="usermanual.html#toc-Workspace-Management">8 Workspace Management</a></li>
+<li><a name="stoc-Control-Structures" href="usermanual.html#toc-Control-Structures">9 Control Structures</a></li>
+<li><a name="stoc-Macros" href="usermanual.html#toc-Macros">10 Macros</a></li>
+<li><a name="stoc-Error-Processing" href="usermanual.html#toc-Error-Processing">11 Error Processing</a></li>
+<li><a name="stoc-Special-Variables" href="usermanual.html#toc-Special-Variables">12 Special Variables</a></li>
+<li><a name="stoc-Internationalization" href="usermanual.html#toc-Internationalization">13 Internationalization</a></li>
+<li><a name="stoc-INDEX-1" href="usermanual.html#toc-INDEX-1">INDEX</a></li>
+
+</ul>
+</div>
+
+<a name="SEC_Contents"></a>
+<h2 class="contents-heading">Table of Contents</h2>
+
+<div class="contents">
+<ul class="no-bullet">
+<li><a name="toc-Introduction" href="usermanual.html#INTRODUCTION">1 Introduction</a>
+<ul class="no-bullet">
+  <li><a name="toc-Overview" href="usermanual.html#OVERVIEW">1.1 Overview</a></li>
+  <li><a name="toc-Getter_002fSetter-Variable-Syntax" href="usermanual.html#GETTER_002fSETTER-VARIBLE-SYNTAX">1.2 Getter/Setter Variable Syntax</a></li>
+  <li><a name="toc-Entering-and-Leaving-Logo" href="usermanual.html#ENTERING-AND-LEAVING-LOGO">1.3 Entering and Leaving Logo</a></li>
+  <li><a name="toc-Tokenization" href="usermanual.html#TOKENIZATION">1.4 Tokenization</a></li>
+</ul></li>
+<li><a name="toc-Data-Structure-Primitives" href="usermanual.html#DATA-STRUCTURE-PRIMITIVES">2 Data Structure Primitives</a>
+<ul class="no-bullet">
+  <li><a name="toc-Constructors" href="usermanual.html#CONSTRUCTORS">2.1 Constructors</a>
+  <ul class="no-bullet">
+    <li><a name="toc-word" href="usermanual.html#WORD">word</a></li>
+    <li><a name="toc-list" href="usermanual.html#LIST">list</a></li>
+    <li><a name="toc-sentence" href="usermanual.html#SENTENCE">sentence</a></li>
+    <li><a name="toc-fput" href="usermanual.html#FPUT">fput</a></li>
+    <li><a name="toc-lput" href="usermanual.html#LPUT">lput</a></li>
+    <li><a name="toc-array" href="usermanual.html#ARRAY">array</a></li>
+    <li><a name="toc-mdarray" href="usermanual.html#MDARRAY">mdarray</a></li>
+    <li><a name="toc-listtoarray" href="usermanual.html#LISTTOARRAY">listtoarray</a></li>
+    <li><a name="toc-arraytolist" href="usermanual.html#ARRAYTOLIST">arraytolist</a></li>
+    <li><a name="toc-combine" href="usermanual.html#COMBINE">combine</a></li>
+    <li><a name="toc-reverse" href="usermanual.html#REVERSE">reverse</a></li>
+    <li><a name="toc-gensym" href="usermanual.html#GENSYM">gensym</a></li>
+  </ul></li>
+  <li><a name="toc-Data-Selectors" href="usermanual.html#SELECTORS">2.2 Data Selectors</a>
+  <ul class="no-bullet">
+    <li><a name="toc-first" href="usermanual.html#FIRST">first</a></li>
+    <li><a name="toc-firsts" href="usermanual.html#FIRSTS">firsts</a></li>
+    <li><a name="toc-last" href="usermanual.html#LAST">last</a></li>
+    <li><a name="toc-butfirst" href="usermanual.html#BUTFIRST">butfirst</a></li>
+    <li><a name="toc-butfirsts" href="usermanual.html#BUTFIRSTS">butfirsts</a></li>
+    <li><a name="toc-butlast" href="usermanual.html#BUTLAST">butlast</a></li>
+    <li><a name="toc-item" href="usermanual.html#ITEM">item</a></li>
+    <li><a name="toc-mditem" href="usermanual.html#MDITEM">mditem</a></li>
+    <li><a name="toc-pick" href="usermanual.html#PICK">pick</a></li>
+    <li><a name="toc-remove" href="usermanual.html#REMOVE">remove</a></li>
+    <li><a name="toc-remdup" href="usermanual.html#REMDUP">remdup</a></li>
+    <li><a name="toc-quoted" href="usermanual.html#QUOTED">quoted</a></li>
+  </ul></li>
+  <li><a name="toc-Data-Mutators" href="usermanual.html#MUTATORS">2.3 Data Mutators</a>
+  <ul class="no-bullet">
+    <li><a name="toc-setitem" href="usermanual.html#SETITEM">setitem</a></li>
+    <li><a name="toc-mdsetitem" href="usermanual.html#MDSETITEM">mdsetitem</a></li>
+    <li><a name="toc-_002esetfirst" href="usermanual.html#dSETFIRST">.setfirst</a></li>
+    <li><a name="toc-_002esetbf" href="usermanual.html#dSETBF">.setbf</a></li>
+    <li><a name="toc-_002esetitem" href="usermanual.html#dSETITEM">.setitem</a></li>
+    <li><a name="toc-push" href="usermanual.html#PUSH">push</a></li>
+    <li><a name="toc-pop" href="usermanual.html#POP">pop</a></li>
+    <li><a name="toc-queue" href="usermanual.html#QUEUE">queue</a></li>
+    <li><a name="toc-dequeue" href="usermanual.html#DEQUEUE">dequeue</a></li>
+  </ul></li>
+  <li><a name="toc-Predicates" href="usermanual.html#PREDICATES">2.4 Predicates</a>
+  <ul class="no-bullet">
+    <li><a name="toc-wordp" href="usermanual.html#WORDP">wordp</a></li>
+    <li><a name="toc-listp" href="usermanual.html#LISTP">listp</a></li>
+    <li><a name="toc-arrayp" href="usermanual.html#ARRAYP">arrayp</a></li>
+    <li><a name="toc-emptyp" href="usermanual.html#EMPTYP">emptyp</a></li>
+    <li><a name="toc-equalp" href="usermanual.html#EQUALP">equalp</a></li>
+    <li><a name="toc-notequalp" href="usermanual.html#NOTEQUALP">notequalp</a></li>
+    <li><a name="toc-beforep" href="usermanual.html#BEFOREP">beforep</a></li>
+    <li><a name="toc-_002eeq" href="usermanual.html#dEQ">.eq</a></li>
+    <li><a name="toc-memberp" href="usermanual.html#MEMBERP">memberp</a></li>
+    <li><a name="toc-substringp" href="usermanual.html#SUBSTRINGP">substringp</a></li>
+    <li><a name="toc-numberp" href="usermanual.html#NUMBERP">numberp</a></li>
+    <li><a name="toc-vbarredp" href="usermanual.html#VBARREDP">vbarredp</a></li>
+  </ul></li>
+  <li><a name="toc-Queries" href="usermanual.html#QUERIES">2.5 Queries</a>
+  <ul class="no-bullet">
+    <li><a name="toc-count" href="usermanual.html#COUNT">count</a></li>
+    <li><a name="toc-ascii" href="usermanual.html#ASCII">ascii</a></li>
+    <li><a name="toc-rawascii" href="usermanual.html#RAWASCII">rawascii</a></li>
+    <li><a name="toc-char" href="usermanual.html#CHAR">char</a></li>
+    <li><a name="toc-member" href="usermanual.html#MEMBER">member</a></li>
+    <li><a name="toc-lowercase" href="usermanual.html#LOWERCASE">lowercase</a></li>
+    <li><a name="toc-uppercase" href="usermanual.html#UPPERCASE">uppercase</a></li>
+    <li><a name="toc-standout" href="usermanual.html#STANDOUT">standout</a></li>
+    <li><a name="toc-parse" href="usermanual.html#PARSE">parse</a></li>
+    <li><a name="toc-runparse" href="usermanual.html#RUNPARSE">runparse</a></li>
+  </ul></li>
+</ul></li>
+<li><a name="toc-Objects" href="usermanual.html#OBJECTS">3 Objects</a>
+<ul class="no-bullet">
+  <li><a name="toc-Constructors-1" href="usermanual.html#OBJECT-CONSTRUCTORS">3.1 Constructors</a>
+  <ul class="no-bullet">
+    <li><a name="toc-kindof" href="usermanual.html#KINDOF">kindof</a></li>
+    <li><a name="toc-something" href="usermanual.html#SOMETHING">something</a></li>
+    <li><a name="toc-oneof" href="usermanual.html#ONEOF">oneof</a></li>
+  </ul></li>
+  <li><a name="toc-Mutators" href="usermanual.html#OBJECT-MUTATORS">3.2 Mutators</a>
+  <ul class="no-bullet">
+    <li><a name="toc-exist" href="usermanual.html#EXIST">exist</a></li>
+    <li><a name="toc-have" href="usermanual.html#HAVE">have</a></li>
+    <li><a name="toc-havemake" href="usermanual.html#HAVEMAKE">havemake</a></li>
+  </ul></li>
+  <li><a name="toc-selectors" href="usermanual.html#OBJECT-SELECTORS">3.3 selectors</a>
+  <ul class="no-bullet">
+    <li><a name="toc-self" href="usermanual.html#SELF">self</a></li>
+    <li><a name="toc-parents" href="usermanual.html#PARENTS">parents</a></li>
+    <li><a name="toc-mynames" href="usermanual.html#MYNAMES">mynames</a></li>
+    <li><a name="toc-mynamep" href="usermanual.html#MYNAMEP">mynamep</a></li>
+    <li><a name="toc-myprocs" href="usermanual.html#MYPROCS">myprocs</a></li>
+    <li><a name="toc-myprocp" href="usermanual.html#MYPROCP">myprocp</a></li>
+  </ul></li>
+  <li><a name="toc-Messages" href="usermanual.html#MESSAGES">3.4 Messages</a>
+  <ul class="no-bullet">
+    <li><a name="toc-talkto" href="usermanual.html#TALKTO">talkto</a></li>
+    <li><a name="toc-ask" href="usermanual.html#ASK">ask</a></li>
+  </ul></li>
+  <li><a name="toc-Queries-1" href="usermanual.html#OBJECT-QUERIES">3.5 Queries</a>
+  <ul class="no-bullet">
+    <li><a name="toc-whosename" href="usermanual.html#WHOSENAME">whosename</a></li>
+    <li><a name="toc-whoseproc" href="usermanual.html#WHOSEPROC">whoseproc</a></li>
+  </ul></li>
+  <li><a name="toc-usual" href="usermanual.html#USUAL">3.6 usual</a></li>
+</ul></li>
+<li><a name="toc-Communication" href="usermanual.html#COMMUNICATION">4 Communication</a>
+<ul class="no-bullet">
+  <li><a name="toc-Transmitters" href="usermanual.html#TRANSMITTERS">4.1 Transmitters</a>
+  <ul class="no-bullet">
+    <li><a name="toc-print" href="usermanual.html#PRINT">print</a></li>
+    <li><a name="toc-type" href="usermanual.html#TYPE">type</a></li>
+    <li><a name="toc-show" href="usermanual.html#SHOW">show</a></li>
+  </ul></li>
+  <li><a name="toc-Receivers" href="usermanual.html#RECEIVERS">4.2 Receivers</a>
+  <ul class="no-bullet">
+    <li><a name="toc-readlist" href="usermanual.html#READLIST">readlist</a></li>
+    <li><a name="toc-readword" href="usermanual.html#READWORD">readword</a></li>
+    <li><a name="toc-readrawline" href="usermanual.html#READRAWLINE">readrawline</a></li>
+    <li><a name="toc-readchar" href="usermanual.html#READCHAR">readchar</a></li>
+    <li><a name="toc-readchars" href="usermanual.html#READCHARS">readchars</a></li>
+    <li><a name="toc-shell" href="usermanual.html#SHELL">shell</a></li>
+  </ul></li>
+  <li><a name="toc-File-Access" href="usermanual.html#FILE-ACCESS">4.3 File Access</a>
+  <ul class="no-bullet">
+    <li><a name="toc-setprefix" href="usermanual.html#SETPREFIX">setprefix</a></li>
+    <li><a name="toc-prefix" href="usermanual.html#PREFIX">prefix</a></li>
+    <li><a name="toc-openread" href="usermanual.html#OPENREAD">openread</a></li>
+    <li><a name="toc-openwrite" href="usermanual.html#OPENWRITE">openwrite</a></li>
+    <li><a name="toc-openappend" href="usermanual.html#OPENAPPEND">openappend</a></li>
+    <li><a name="toc-openupdate" href="usermanual.html#OPENUPDATE">openupdate</a></li>
+    <li><a name="toc-close" href="usermanual.html#CLOSE">close</a></li>
+    <li><a name="toc-allopen" href="usermanual.html#ALLOPEN">allopen</a></li>
+    <li><a name="toc-closeall" href="usermanual.html#CLOSEALL">closeall</a></li>
+    <li><a name="toc-erasefile" href="usermanual.html#ERASEFILE">erasefile</a></li>
+    <li><a name="toc-dribble" href="usermanual.html#DRIBBLE">dribble</a></li>
+    <li><a name="toc-nodribble" href="usermanual.html#NODRIBBLE">nodribble</a></li>
+    <li><a name="toc-setread" href="usermanual.html#SETREAD">setread</a></li>
+    <li><a name="toc-setwrite" href="usermanual.html#SETWRITE">setwrite</a></li>
+    <li><a name="toc-reader" href="usermanual.html#READER">reader</a></li>
+    <li><a name="toc-writer" href="usermanual.html#WRITER">writer</a></li>
+    <li><a name="toc-setreadpos" href="usermanual.html#SETREADPOS">setreadpos</a></li>
+    <li><a name="toc-setwritepos" href="usermanual.html#SETWRITEPOS">setwritepos</a></li>
+    <li><a name="toc-readpos" href="usermanual.html#READPOS">readpos</a></li>
+    <li><a name="toc-writepos" href="usermanual.html#WRITEPOS">writepos</a></li>
+    <li><a name="toc-eofp" href="usermanual.html#EOFP">eofp</a></li>
+    <li><a name="toc-filep" href="usermanual.html#FILEP">filep</a></li>
+  </ul></li>
+  <li><a name="toc-Terminal-Access" href="usermanual.html#TERMINAL-ACCESS">4.4 Terminal Access</a>
+  <ul class="no-bullet">
+    <li><a name="toc-keyp" href="usermanual.html#KEYP">keyp</a></li>
+    <li><a name="toc-linep" href="usermanual.html#LINEP">linep</a></li>
+    <li><a name="toc-cleartext" href="usermanual.html#CLEARTEXT">cleartext</a></li>
+    <li><a name="toc-setcursor" href="usermanual.html#SETCURSOR">setcursor</a></li>
+    <li><a name="toc-cursor" href="usermanual.html#CURSOR">cursor</a></li>
+    <li><a name="toc-setmargins" href="usermanual.html#SETMARGINS">setmargins</a></li>
+    <li><a name="toc-settextcolor" href="usermanual.html#SETTEXTCOLOR">settextcolor</a></li>
+    <li><a name="toc-increasefont" href="usermanual.html#INCREASEFONT">increasefont</a></li>
+    <li><a name="toc-settextsize" href="usermanual.html#SETTEXTSIZE">settextsize</a></li>
+    <li><a name="toc-textsize" href="usermanual.html#TEXTSIZE">textsize</a></li>
+    <li><a name="toc-setfont" href="usermanual.html#SETFONT">setfont</a></li>
+    <li><a name="toc-font" href="usermanual.html#FONT">font</a></li>
+  </ul></li>
+</ul></li>
+<li><a name="toc-Arithmetic" href="usermanual.html#ARITHMETIC">5 Arithmetic</a>
+<ul class="no-bullet">
+  <li><a name="toc-Numeric-Operations" href="usermanual.html#NUMERIC-OPERATIONS">5.1 Numeric Operations</a>
+  <ul class="no-bullet">
+    <li><a name="toc-sum" href="usermanual.html#SUM">sum</a></li>
+    <li><a name="toc-difference" href="usermanual.html#DIFFERENCE">difference</a></li>
+    <li><a name="toc-minus" href="usermanual.html#MINUS">minus</a></li>
+    <li><a name="toc-product" href="usermanual.html#PRODUCT">product</a></li>
+    <li><a name="toc-quotient" href="usermanual.html#QUOTIENT">quotient</a></li>
+    <li><a name="toc-remainder" href="usermanual.html#REMAINDER">remainder</a></li>
+    <li><a name="toc-modulo" href="usermanual.html#MODULO">modulo</a></li>
+    <li><a name="toc-int" href="usermanual.html#INT">int</a></li>
+    <li><a name="toc-round" href="usermanual.html#ROUND">round</a></li>
+    <li><a name="toc-sqrt" href="usermanual.html#SQRT">sqrt</a></li>
+    <li><a name="toc-power" href="usermanual.html#POWER">power</a></li>
+    <li><a name="toc-exp" href="usermanual.html#EXP">exp</a></li>
+    <li><a name="toc-log10" href="usermanual.html#LOG10">log10</a></li>
+    <li><a name="toc-ln" href="usermanual.html#LN">ln</a></li>
+    <li><a name="toc-sin" href="usermanual.html#SIN">sin</a></li>
+    <li><a name="toc-radsin" href="usermanual.html#RADSIN">radsin</a></li>
+    <li><a name="toc-cos" href="usermanual.html#COS">cos</a></li>
+    <li><a name="toc-radcos" href="usermanual.html#RADCOS">radcos</a></li>
+    <li><a name="toc-arctan" href="usermanual.html#ARCTAN">arctan</a></li>
+    <li><a name="toc-radarctan" href="usermanual.html#RADARCTAN">radarctan</a></li>
+    <li><a name="toc-iseq" href="usermanual.html#ISEQ">iseq</a></li>
+    <li><a name="toc-rseq" href="usermanual.html#RSEQ">rseq</a></li>
+  </ul></li>
+  <li><a name="toc-Numeric-Predicates" href="usermanual.html#NUMERIC-PREDICATES">5.2 Numeric Predicates</a>
+  <ul class="no-bullet">
+    <li><a name="toc-lessp" href="usermanual.html#LESSP">lessp</a></li>
+    <li><a name="toc-greaterp" href="usermanual.html#GREATERP">greaterp</a></li>
+    <li><a name="toc-lessequalp" href="usermanual.html#LESSEQUALP">lessequalp</a></li>
+    <li><a name="toc-greaterequalp" href="usermanual.html#GREATEREQUALP">greaterequalp</a></li>
+  </ul></li>
+  <li><a name="toc-Random-Numbers" href="usermanual.html#RANDOM-NUMBERS">5.3 Random Numbers</a>
+  <ul class="no-bullet">
+    <li><a name="toc-random" href="usermanual.html#RANDOM">random</a></li>
+    <li><a name="toc-rerandom" href="usermanual.html#RERANDOM">rerandom</a></li>
+  </ul></li>
+  <li><a name="toc-Print-Formatting" href="usermanual.html#PRINT-FORMATTING">5.4 Print Formatting</a>
+  <ul class="no-bullet">
+    <li><a name="toc-form" href="usermanual.html#FORM">form</a></li>
+  </ul></li>
+  <li><a name="toc-Bitwise-Operations" href="usermanual.html#BITWISE-OPERATIONS">5.5 Bitwise Operations</a>
+  <ul class="no-bullet">
+    <li><a name="toc-bitand" href="usermanual.html#BITAND">bitand</a></li>
+    <li><a name="toc-bitor" href="usermanual.html#BITOR">bitor</a></li>
+    <li><a name="toc-bitxor" href="usermanual.html#BITXOR">bitxor</a></li>
+    <li><a name="toc-bitnot" href="usermanual.html#BITNOT">bitnot</a></li>
+    <li><a name="toc-ashift" href="usermanual.html#ASHIFT">ashift</a></li>
+    <li><a name="toc-lshift" href="usermanual.html#LSHIFT">lshift</a></li>
+  </ul></li>
+</ul></li>
+<li><a name="toc-Logical-Operations" href="usermanual.html#LOGICAL-OPERATIONS">6 Logical Operations</a>
+<ul class="no-bullet">
+  <li><a name="toc-and" href="usermanual.html#AND">and</a>
+  <ul class="no-bullet">
+    <li><a name="toc-or" href="usermanual.html#OR">or</a></li>
+    <li><a name="toc-not" href="usermanual.html#NOT">not</a></li>
+  </ul></li>
+</ul></li>
+<li><a name="toc-Graphics" href="usermanual.html#GRAPHICS">7 Graphics</a>
+<ul class="no-bullet">
+  <li><a name="toc-Turtle-Motion" href="usermanual.html#TURTLE-MOTION">7.1 Turtle Motion</a>
+  <ul class="no-bullet">
+    <li><a name="toc-forward" href="usermanual.html#FORWARD">forward</a></li>
+    <li><a name="toc-back" href="usermanual.html#BACK">back</a></li>
+    <li><a name="toc-left" href="usermanual.html#LEFT">left</a></li>
+    <li><a name="toc-right" href="usermanual.html#RIGHT">right</a></li>
+    <li><a name="toc-setpos" href="usermanual.html#SETPOS">setpos</a></li>
+    <li><a name="toc-setxy" href="usermanual.html#SETXY">setxy</a></li>
+    <li><a name="toc-setx" href="usermanual.html#SETX">setx</a></li>
+    <li><a name="toc-sety" href="usermanual.html#SETY">sety</a></li>
+    <li><a name="toc-setheading" href="usermanual.html#SETHEADING">setheading</a></li>
+    <li><a name="toc-home" href="usermanual.html#HOME">home</a></li>
+    <li><a name="toc-arc" href="usermanual.html#ARC">arc</a></li>
+  </ul></li>
+  <li><a name="toc-Turtle-Motion-Queries" href="usermanual.html#TURTLE-MOTION-QUERIES">7.2 Turtle Motion Queries</a>
+  <ul class="no-bullet">
+    <li><a name="toc-pos" href="usermanual.html#POS">pos</a></li>
+    <li><a name="toc-xcor" href="usermanual.html#XCOR">xcor</a></li>
+    <li><a name="toc-ycor" href="usermanual.html#YCOR">ycor</a></li>
+    <li><a name="toc-heading" href="usermanual.html#HEADING">heading</a></li>
+    <li><a name="toc-towards" href="usermanual.html#TOWARDS">towards</a></li>
+    <li><a name="toc-scrunch" href="usermanual.html#SCRUNCH">scrunch</a></li>
+  </ul></li>
+  <li><a name="toc-Turtle-and-Window-Control" href="usermanual.html#TURTLE-AND-WINDOW-CONTROL">7.3 Turtle and Window Control</a>
+  <ul class="no-bullet">
+    <li><a name="toc-showturtle" href="usermanual.html#SHOWTURTLE">showturtle</a></li>
+    <li><a name="toc-hideturtle" href="usermanual.html#HIDETURTLE">hideturtle</a></li>
+    <li><a name="toc-clean" href="usermanual.html#CLEAN">clean</a></li>
+    <li><a name="toc-clearscreen" href="usermanual.html#CLEARSCREEN">clearscreen</a></li>
+    <li><a name="toc-wrap" href="usermanual.html#WRAP">wrap</a></li>
+    <li><a name="toc-window" href="usermanual.html#WINDOW">window</a></li>
+    <li><a name="toc-fence" href="usermanual.html#FENCE">fence</a></li>
+    <li><a name="toc-fill" href="usermanual.html#FILL">fill</a></li>
+    <li><a name="toc-filled" href="usermanual.html#FILLED">filled</a></li>
+    <li><a name="toc-label" href="usermanual.html#LABEL">label</a></li>
+    <li><a name="toc-setlabelheight" href="usermanual.html#SETLABELHEIGHT">setlabelheight</a></li>
+    <li><a name="toc-textscreen" href="usermanual.html#TEXTSCREEN">textscreen</a></li>
+    <li><a name="toc-fullscreen" href="usermanual.html#FULLSCREEN">fullscreen</a></li>
+    <li><a name="toc-splitscreen" href="usermanual.html#SPLITSCREEN">splitscreen</a></li>
+    <li><a name="toc-setscrunch" href="usermanual.html#SETSCRUNCH">setscrunch</a></li>
+    <li><a name="toc-refresh" href="usermanual.html#REFRESH">refresh</a></li>
+    <li><a name="toc-norefresh" href="usermanual.html#NOREFRESH">norefresh</a></li>
+  </ul></li>
+  <li><a name="toc-Turtle-and-Window-Queries" href="usermanual.html#TURTLE-AND-WINDOW-QUERIES">7.4 Turtle and Window Queries</a>
+  <ul class="no-bullet">
+    <li><a name="toc-shownp" href="usermanual.html#SHOWNP">shownp</a></li>
+    <li><a name="toc-screenmode" href="usermanual.html#SCREENMODE">screenmode</a></li>
+    <li><a name="toc-turtlemode" href="usermanual.html#TURTLEMODE">turtlemode</a></li>
+    <li><a name="toc-labelsize" href="usermanual.html#LABELSIZE">labelsize</a></li>
+  </ul></li>
+  <li><a name="toc-Pen-and-Background-Control" href="usermanual.html#PEN-AND-BACKGROUND-CONTROL">7.5 Pen and Background Control</a>
+  <ul class="no-bullet">
+    <li><a name="toc-pendown" href="usermanual.html#PENDOWN">pendown</a></li>
+    <li><a name="toc-penup" href="usermanual.html#PENUP">penup</a></li>
+    <li><a name="toc-penpaint" href="usermanual.html#PENPAINT">penpaint</a></li>
+    <li><a name="toc-penerase" href="usermanual.html#PENERASE">penerase</a></li>
+    <li><a name="toc-penreverse" href="usermanual.html#PENREVERSE">penreverse</a></li>
+    <li><a name="toc-setpencolor" href="usermanual.html#SETPENCOLOR">setpencolor</a></li>
+    <li><a name="toc-setpalette" href="usermanual.html#SETPALETTE">setpalette</a></li>
+    <li><a name="toc-setpensize" href="usermanual.html#SETPENSIZE">setpensize</a></li>
+    <li><a name="toc-setpenpattern" href="usermanual.html#SETPENPATTERN">setpenpattern</a></li>
+    <li><a name="toc-setpen" href="usermanual.html#SETPEN">setpen</a></li>
+    <li><a name="toc-setbackground" href="usermanual.html#SETBACKGROUND">setbackground</a></li>
+  </ul></li>
+  <li><a name="toc-Pen-Queries" href="usermanual.html#PEN-QUERIES">7.6 Pen Queries</a>
+  <ul class="no-bullet">
+    <li><a name="toc-pendownp" href="usermanual.html#PENDOWNP">pendownp</a></li>
+    <li><a name="toc-penmode" href="usermanual.html#PENMODE">penmode</a></li>
+    <li><a name="toc-pencolor" href="usermanual.html#PENCOLOR">pencolor</a></li>
+    <li><a name="toc-palette" href="usermanual.html#PALETTE">palette</a></li>
+    <li><a name="toc-pensize" href="usermanual.html#PENSIZE">pensize</a></li>
+    <li><a name="toc-pen" href="usermanual.html#PEN">pen</a></li>
+    <li><a name="toc-background" href="usermanual.html#BACKGROUND">background</a></li>
+  </ul></li>
+  <li><a name="toc-Saving-and-Loading-Pictures" href="usermanual.html#SAVING-AND-LOADING-PICTURES">7.7 Saving and Loading Pictures</a>
+  <ul class="no-bullet">
+    <li><a name="toc-savepict" href="usermanual.html#SAVEPICT">savepict</a></li>
+    <li><a name="toc-loadpict" href="usermanual.html#LOADPICT">loadpict</a></li>
+    <li><a name="toc-epspict" href="usermanual.html#EPSPICT">epspict</a></li>
+  </ul></li>
+  <li><a name="toc-Mouse-Queries" href="usermanual.html#MOUSE-QUERIES">7.8 Mouse Queries</a>
+  <ul class="no-bullet">
+    <li><a name="toc-mousepos" href="usermanual.html#MOUSEPOS">mousepos</a></li>
+    <li><a name="toc-clickpos" href="usermanual.html#CLICKPOS">clickpos</a></li>
+    <li><a name="toc-buttonp" href="usermanual.html#BUTTONP">buttonp</a></li>
+    <li><a name="toc-button" href="usermanual.html#BUTTON">button</a></li>
+  </ul></li>
+</ul></li>
+<li><a name="toc-Workspace-Management" href="usermanual.html#WORKSPACE-MANAGEMENT">8 Workspace Management</a>
+<ul class="no-bullet">
+  <li><a name="toc-Procedure-Definition" href="usermanual.html#PROCEDURE-DEFINITION">8.1 Procedure Definition</a>
+  <ul class="no-bullet">
+    <li><a name="toc-to" href="usermanual.html#TO">to</a></li>
+    <li><a name="toc-define" href="usermanual.html#DEFINE">define</a></li>
+    <li><a name="toc-text" href="usermanual.html#TEXT">text</a></li>
+    <li><a name="toc-fulltext" href="usermanual.html#FULLTEXT">fulltext</a></li>
+    <li><a name="toc-copydef" href="usermanual.html#COPYDEF">copydef</a></li>
+  </ul></li>
+  <li><a name="toc-Variable-Definition" href="usermanual.html#VARIABLE-DEFINITION">8.2 Variable Definition</a>
+  <ul class="no-bullet">
+    <li><a name="toc-make" href="usermanual.html#MAKE">make</a></li>
+    <li><a name="toc-name" href="usermanual.html#NAME">name</a></li>
+    <li><a name="toc-local" href="usermanual.html#LOCAL">local</a></li>
+    <li><a name="toc-localmake" href="usermanual.html#LOCALMAKE">localmake</a></li>
+    <li><a name="toc-thing" href="usermanual.html#THING">thing</a></li>
+    <li><a name="toc-global" href="usermanual.html#GLOBAL">global</a></li>
+  </ul></li>
+  <li><a name="toc-Property-Lists" href="usermanual.html#PROPERTY-LISTS">8.3 Property Lists</a>
+  <ul class="no-bullet">
+    <li><a name="toc-pprop" href="usermanual.html#PPROP">pprop</a></li>
+    <li><a name="toc-gprop" href="usermanual.html#GPROP">gprop</a></li>
+    <li><a name="toc-remprop" href="usermanual.html#REMPROP">remprop</a></li>
+    <li><a name="toc-plist" href="usermanual.html#PLIST">plist</a></li>
+  </ul></li>
+  <li><a name="toc-Workspace-Predicates" href="usermanual.html#WORKSPACE-PREDICATES">8.4 Workspace Predicates</a>
+  <ul class="no-bullet">
+    <li><a name="toc-procedurep" href="usermanual.html#PROCEDUREP">procedurep</a></li>
+    <li><a name="toc-primitivep" href="usermanual.html#PRIMITIVEP">primitivep</a></li>
+    <li><a name="toc-definedp" href="usermanual.html#DEFINEDP">definedp</a></li>
+    <li><a name="toc-namep" href="usermanual.html#NAMEP">namep</a></li>
+    <li><a name="toc-plistp" href="usermanual.html#PLISTP">plistp</a></li>
+  </ul></li>
+  <li><a name="toc-Workspace-Queries" href="usermanual.html#WORKSPACE-QUERIES">8.5 Workspace Queries</a>
+  <ul class="no-bullet">
+    <li><a name="toc-contents" href="usermanual.html#CONTENTS">contents</a></li>
+    <li><a name="toc-buried" href="usermanual.html#BURIED">buried</a></li>
+    <li><a name="toc-traced" href="usermanual.html#TRACED">traced</a></li>
+    <li><a name="toc-stepped" href="usermanual.html#STEPPED">stepped</a></li>
+    <li><a name="toc-procedures" href="usermanual.html#PROCEDURES">procedures</a></li>
+    <li><a name="toc-primitives" href="usermanual.html#PRIMITIVES">primitives</a></li>
+    <li><a name="toc-names" href="usermanual.html#NAMES">names</a></li>
+    <li><a name="toc-plists" href="usermanual.html#PLISTS">plists</a></li>
+    <li><a name="toc-namelist" href="usermanual.html#NAMELIST">namelist</a></li>
+    <li><a name="toc-pllist" href="usermanual.html#PLLIST">pllist</a></li>
+    <li><a name="toc-arity" href="usermanual.html#ARITY">arity</a></li>
+    <li><a name="toc-nodes" href="usermanual.html#NODES">nodes</a></li>
+  </ul></li>
+  <li><a name="toc-Workspace-Inspection" href="usermanual.html#WORKSPACE-INSPECTION">8.6 Workspace Inspection</a>
+  <ul class="no-bullet">
+    <li><a name="toc-po" href="usermanual.html#PO">po</a></li>
+    <li><a name="toc-poall" href="usermanual.html#POALL">poall</a></li>
+    <li><a name="toc-pops" href="usermanual.html#POPS">pops</a></li>
+    <li><a name="toc-pons" href="usermanual.html#PONS">pons</a></li>
+    <li><a name="toc-popls" href="usermanual.html#POPLS">popls</a></li>
+    <li><a name="toc-pon" href="usermanual.html#PON">pon</a></li>
+    <li><a name="toc-popl" href="usermanual.html#POPL">popl</a></li>
+    <li><a name="toc-pot" href="usermanual.html#POT">pot</a></li>
+    <li><a name="toc-pots" href="usermanual.html#POTS">pots</a></li>
+  </ul></li>
+  <li><a name="toc-Workspace-Control" href="usermanual.html#WORKSPACE-CONTROL">8.7 Workspace Control</a>
+  <ul class="no-bullet">
+    <li><a name="toc-erase" href="usermanual.html#ERASE">erase</a></li>
+    <li><a name="toc-erall" href="usermanual.html#ERALL">erall</a></li>
+    <li><a name="toc-erps" href="usermanual.html#ERPS">erps</a></li>
+    <li><a name="toc-erns" href="usermanual.html#ERNS">erns</a></li>
+    <li><a name="toc-erpls" href="usermanual.html#ERPLS">erpls</a></li>
+    <li><a name="toc-ern" href="usermanual.html#ERN">ern</a></li>
+    <li><a name="toc-erpl" href="usermanual.html#ERPL">erpl</a></li>
+    <li><a name="toc-bury" href="usermanual.html#BURY">bury</a></li>
+    <li><a name="toc-buryall" href="usermanual.html#BURYALL">buryall</a></li>
+    <li><a name="toc-buryname" href="usermanual.html#BURYNAME">buryname</a></li>
+    <li><a name="toc-unbury" href="usermanual.html#UNBURY">unbury</a></li>
+    <li><a name="toc-unburyall" href="usermanual.html#UNBURYALL">unburyall</a></li>
+    <li><a name="toc-unburyname" href="usermanual.html#UNBURYNAME">unburyname</a></li>
+    <li><a name="toc-buriedp" href="usermanual.html#BURIEDP">buriedp</a></li>
+    <li><a name="toc-trace" href="usermanual.html#TRACE">trace</a></li>
+    <li><a name="toc-untrace" href="usermanual.html#UNTRACE">untrace</a></li>
+    <li><a name="toc-tracedp" href="usermanual.html#TRACEDP">tracedp</a></li>
+    <li><a name="toc-step" href="usermanual.html#STEP">step</a></li>
+    <li><a name="toc-unstep" href="usermanual.html#UNSTEP">unstep</a></li>
+    <li><a name="toc-steppedp" href="usermanual.html#STEPPEDP">steppedp</a></li>
+    <li><a name="toc-edit" href="usermanual.html#EDIT">edit</a></li>
+    <li><a name="toc-editfile" href="usermanual.html#EDITFILE">editfile</a></li>
+    <li><a name="toc-edall" href="usermanual.html#EDALL">edall</a></li>
+    <li><a name="toc-edps" href="usermanual.html#EDPS">edps</a></li>
+    <li><a name="toc-edns" href="usermanual.html#EDNS">edns</a></li>
+    <li><a name="toc-edpls" href="usermanual.html#EDPLS">edpls</a></li>
+    <li><a name="toc-edn" href="usermanual.html#EDN">edn</a></li>
+    <li><a name="toc-edpl" href="usermanual.html#EDPL">edpl</a></li>
+    <li><a name="toc-save" href="usermanual.html#SAVE">save</a></li>
+    <li><a name="toc-savel" href="usermanual.html#SAVEL">savel</a></li>
+    <li><a name="toc-load" href="usermanual.html#LOAD">load</a></li>
+    <li><a name="toc-cslsload" href="usermanual.html#CSLSLOAD">cslsload</a></li>
+    <li><a name="toc-help" href="usermanual.html#HELP">help</a></li>
+    <li><a name="toc-seteditor" href="usermanual.html#SETEDITOR">seteditor</a></li>
+    <li><a name="toc-setlibloc" href="usermanual.html#SETLIBLOC">setlibloc</a></li>
+    <li><a name="toc-setcslsloc" href="usermanual.html#SETCSLSLOC">setcslsloc</a></li>
+    <li><a name="toc-sethelploc" href="usermanual.html#SETHELPLOC">sethelploc</a></li>
+    <li><a name="toc-settemploc" href="usermanual.html#SETTEMPLOC">settemploc</a></li>
+    <li><a name="toc-gc" href="usermanual.html#GC">gc</a></li>
+    <li><a name="toc-_002esetsegmentsize" href="usermanual.html#g_t_002eSETSEGMENTSIZE">.setsegmentsize</a></li>
+  </ul></li>
+</ul></li>
+<li><a name="toc-Control-Structures" href="usermanual.html#CONTROL-STRUCTURES">9 Control Structures</a>
+<ul class="no-bullet">
+  <li><a name="toc-Control" href="usermanual.html#CONTROL">9.1 Control</a>
+  <ul class="no-bullet">
+    <li><a name="toc-run" href="usermanual.html#RUN">run</a></li>
+    <li><a name="toc-runresult" href="usermanual.html#RUNRESULT">runresult</a></li>
+    <li><a name="toc-repeat" href="usermanual.html#REPEAT">repeat</a></li>
+    <li><a name="toc-forever" href="usermanual.html#FOREVER">forever</a></li>
+    <li><a name="toc-repcount" href="usermanual.html#REPCOUNT">repcount</a></li>
+    <li><a name="toc-if" href="usermanual.html#IF">if</a></li>
+    <li><a name="toc-ifelse" href="usermanual.html#IFELSE">ifelse</a></li>
+    <li><a name="toc-test" href="usermanual.html#TEST">test</a></li>
+    <li><a name="toc-iftrue" href="usermanual.html#IFTRUE">iftrue</a></li>
+    <li><a name="toc-iffalse" href="usermanual.html#IFFALSE">iffalse</a></li>
+    <li><a name="toc-stop" href="usermanual.html#STOP">stop</a></li>
+    <li><a name="toc-output" href="usermanual.html#OUTPUT">output</a></li>
+    <li><a name="toc-catch" href="usermanual.html#CATCH">catch</a></li>
+    <li><a name="toc-throw" href="usermanual.html#THROW">throw</a></li>
+    <li><a name="toc-error" href="usermanual.html#ERROR">error</a></li>
+    <li><a name="toc-pause" href="usermanual.html#PAUSE">pause</a></li>
+    <li><a name="toc-continue" href="usermanual.html#CONTINUE">continue</a></li>
+    <li><a name="toc-wait" href="usermanual.html#WAIT">wait</a></li>
+    <li><a name="toc-bye" href="usermanual.html#BYE">bye</a></li>
+    <li><a name="toc-_002emaybeoutput" href="usermanual.html#dMAYBEOUTPUT">.maybeoutput</a></li>
+    <li><a name="toc-goto" href="usermanual.html#GOTO">goto</a></li>
+    <li><a name="toc-tag" href="usermanual.html#TAG">tag</a></li>
+    <li><a name="toc-ignore" href="usermanual.html#IGNORE">ignore</a></li>
+    <li><a name="toc-_0060" href="usermanual.html#back_002dquote">&lsquo;</a></li>
+    <li><a name="toc-for" href="usermanual.html#FOR">for</a></li>
+    <li><a name="toc-do_002ewhile" href="usermanual.html#DOdWHILE">do.while</a></li>
+    <li><a name="toc-while" href="usermanual.html#WHILE">while</a></li>
+    <li><a name="toc-do_002euntil" href="usermanual.html#DOdUNTIL">do.until</a></li>
+    <li><a name="toc-until" href="usermanual.html#UNTIL">until</a></li>
+    <li><a name="toc-case" href="usermanual.html#CASE">case</a></li>
+    <li><a name="toc-cond" href="usermanual.html#COND">cond</a></li>
+  </ul></li>
+  <li><a name="toc-Template_002dbased-Iteration" href="usermanual.html#TEMPLATE_002dBASED-ITERATION">9.2 Template-based Iteration</a>
+  <ul class="no-bullet">
+    <li><a name="toc-apply" href="usermanual.html#APPLY">apply</a></li>
+    <li><a name="toc-invoke" href="usermanual.html#INVOKE">invoke</a></li>
+    <li><a name="toc-foreach" href="usermanual.html#FOREACH">foreach</a></li>
+    <li><a name="toc-map" href="usermanual.html#MAP">map</a></li>
+    <li><a name="toc-map_002ese" href="usermanual.html#MAPdSE">map.se</a></li>
+    <li><a name="toc-filter" href="usermanual.html#FILTER">filter</a></li>
+    <li><a name="toc-find" href="usermanual.html#FIND">find</a></li>
+    <li><a name="toc-reduce" href="usermanual.html#REDUCE">reduce</a></li>
+    <li><a name="toc-crossmap" href="usermanual.html#CROSSMAP">crossmap</a></li>
+    <li><a name="toc-cascade" href="usermanual.html#CASCADE">cascade</a></li>
+    <li><a name="toc-cascade_002e2" href="usermanual.html#CASCADEd2">cascade.2</a></li>
+    <li><a name="toc-transfer" href="usermanual.html#TRANSFER">transfer</a></li>
+  </ul></li>
+</ul></li>
+<li><a name="toc-Macros" href="usermanual.html#MACROS">10 Macros</a>
+<ul class="no-bullet">
+  <li><a name="toc-_002emacro" href="usermanual.html#dMACRO">.macro</a>
+  <ul class="no-bullet">
+    <li><a name="toc-_002edefmacro" href="usermanual.html#dDEFMACRO">.defmacro</a></li>
+    <li><a name="toc-macrop" href="usermanual.html#MACROP">macrop</a></li>
+    <li><a name="toc-macroexpand" href="usermanual.html#MACROEXPAND">macroexpand</a></li>
+  </ul></li>
+</ul></li>
+<li><a name="toc-Error-Processing" href="usermanual.html#ERROR-PROCESSING">11 Error Processing</a>
+<ul class="no-bullet">
+  <li><a name="toc-Error-Codes" href="usermanual.html#ERROR-CODES">11.1 Error Codes</a></li>
+</ul></li>
+<li><a name="toc-Special-Variables" href="usermanual.html#SPECIAL-VARIABLES">12 Special Variables</a>
+<ul class="no-bullet">
+  <li><a name="toc-allowgetset" href="usermanual.html#ALLOWGETSET">allowgetset</a>
+  <ul class="no-bullet">
+    <li><a name="toc-buttonact" href="usermanual.html#BUTTONACT">buttonact</a></li>
+    <li><a name="toc-caseignoredp" href="usermanual.html#CASEIGNOREDP">caseignoredp</a></li>
+    <li><a name="toc-commandline" href="usermanual.html#COMMANDLINE">commandline</a></li>
+    <li><a name="toc-erract" href="usermanual.html#ERRACT">erract</a></li>
+    <li><a name="toc-fullprintp" href="usermanual.html#FULLPRINTP">fullprintp</a></li>
+    <li><a name="toc-keyact" href="usermanual.html#KEYACT">keyact</a></li>
+    <li><a name="toc-loadnoisily" href="usermanual.html#LOADNOISILY">loadnoisily</a></li>
+    <li><a name="toc-printdepthlimit" href="usermanual.html#PRINTDEPTHLIMIT">printdepthlimit</a></li>
+    <li><a name="toc-printwidthlimit" href="usermanual.html#PRINTWIDTHLIMIT">printwidthlimit</a></li>
+    <li><a name="toc-redefp" href="usermanual.html#REDEFP">redefp</a></li>
+    <li><a name="toc-startup" href="usermanual.html#STARTUP">startup</a></li>
+    <li><a name="toc-unburyonedit" href="usermanual.html#UNBURYONEDIT">unburyonedit</a></li>
+    <li><a name="toc-usealternatenames" href="usermanual.html#USEALTERNATENAMES">usealternatenames</a></li>
+    <li><a name="toc-logoversion" href="usermanual.html#LOGOVERSION">logoversion</a></li>
+    <li><a name="toc-logoplatform" href="usermanual.html#LOGOPLATFORM">logoplatform</a></li>
+  </ul></li>
+</ul></li>
+<li><a name="toc-Internationalization" href="usermanual.html#INTERNATIONALIZATION">13 Internationalization</a></li>
+<li><a name="toc-INDEX-1" href="usermanual.html#INDEX">INDEX</a></li>
+
+</ul>
+</div>
+
+
+
+<a name="Top"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#INTRODUCTION" accesskey="n" rel="next">INTRODUCTION</a>, Previous: <a href="https://people.eecs.berkeley.edu/~bh/docs/html/dir.html#Top" accesskey="p" rel="prev">(dir)</a>, Up: <a href="https://people.eecs.berkeley.edu/~bh/docs/html/dir.html#Top" accesskey="u" rel="up">(dir)</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<h1 class="node-heading">Top</h1>
+
+
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#INTRODUCTION" accesskey="1">INTRODUCTION</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#DATA-STRUCTURE-PRIMITIVES" accesskey="2">DATA STRUCTURE PRIMITIVES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OBJECTS" accesskey="3">OBJECTS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#COMMUNICATION" accesskey="4">COMMUNICATION</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ARITHMETIC" accesskey="5">ARITHMETIC</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOGICAL-OPERATIONS" accesskey="6">LOGICAL OPERATIONS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#GRAPHICS" accesskey="7">GRAPHICS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WORKSPACE-MANAGEMENT" accesskey="8">WORKSPACE MANAGEMENT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CONTROL-STRUCTURES" accesskey="9">CONTROL STRUCTURES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MACROS">MACROS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERROR-PROCESSING">ERROR PROCESSING</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SPECIAL-VARIABLES">SPECIAL VARIABLES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#INTERNATIONALIZATION">INTERNATIONALIZATION</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#INDEX">INDEX</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="INTRODUCTION"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#DATA-STRUCTURE-PRIMITIVES" accesskey="n" rel="next">DATA STRUCTURE PRIMITIVES</a>, Previous: <a href="usermanual.html#Top" accesskey="p" rel="prev">Top</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Introduction"></a>
+<h2 class="chapter">1 Introduction</h2>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OVERVIEW" accesskey="1">OVERVIEW</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#GETTER_002fSETTER-VARIBLE-SYNTAX" accesskey="2">GETTER/SETTER VARIBLE SYNTAX</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ENTERING-AND-LEAVING-LOGO" accesskey="3">ENTERING AND LEAVING LOGO</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TOKENIZATION" accesskey="4">TOKENIZATION</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="OVERVIEW"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#GETTER_002fSETTER-VARIBLE-SYNTAX" accesskey="n" rel="next">GETTER/SETTER VARIBLE SYNTAX</a>, Previous: <a href="usermanual.html#INTRODUCTION" accesskey="p" rel="prev">INTRODUCTION</a>, Up: <a href="usermanual.html#INTRODUCTION" accesskey="u" rel="up">INTRODUCTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Overview"></a>
+<h3 class="section">1.1 Overview</h3>
+
+<a name="index-Copyright"></a>
+<a name="index-Computer_005fScience_005fLogo_005fStyle"></a>
+
+<p>Copyright &copy; 1993 by the Regents of the University of California
+</p>
+<p>This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+</p>
+<p>This program is distributed in the hope that it will be useful,
+but <var>WITHOUT ANY WARRANTY</var>; without even the implied warranty of
+<var>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE</var>.  See the
+GNU General Public License for more details.
+</p>
+<p>You should have received a copy of the GNU General Public License
+along with this program.  If not, see &lt;https://www.gnu.org/licenses/&gt;.
+</p>
+<p>This is a program that is still being written.  Many things are missing,
+including adequate documentation.  This manual assumes that you already know
+how to program in Logo, and merely presents the details of this new
+implementation.  
+</p>
+<p>Read <cite>Computer Science Logo Style, Volume 1: 
+ Symbolic Computing</cite> by Brian Harvey (MIT Press, 1997) for a tutorial
+on Logo programming with emphasis on symbolic computation.
+</p>
+<p>Here are the special features of this dialect of Logo:
+</p>
+<div class="display">
+<pre class="display">
+
+Source file compatible among Unix, DOS, Windows, and Mac platforms.
+
+Random-access arrays.
+
+Variable number of inputs to user-defined procedures.
+
+Mutators for list structure (dangerous).
+
+Pause on error, and other improvements to error handling.
+
+Comments and continuation lines; formatting is preserved when
+procedure definitions are saved or edited.
+
+Terrapin-style tokenization (e.g., [2+3] is a list with one member)
+but LCSI-style syntax (no special forms except TO).  The best of
+both worlds.
+
+First-class instruction and expression templates (see APPLY).
+
+Macros.
+</pre></div>
+
+<p>Features <strong>not</strong> found in Berkeley Logo include robotics, music,
+animation, parallelism, and multimedia.  For those, buy a commercial version.
+</p>
+
+<hr>
+<a name="GETTER_002fSETTER-VARIBLE-SYNTAX"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ENTERING-AND-LEAVING-LOGO" accesskey="n" rel="next">ENTERING AND LEAVING LOGO</a>, Previous: <a href="usermanual.html#OVERVIEW" accesskey="p" rel="prev">OVERVIEW</a>, Up: <a href="usermanual.html#INTRODUCTION" accesskey="u" rel="up">INTRODUCTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Getter_002fSetter-Variable-Syntax"></a>
+<h3 class="section">1.2 Getter/Setter Variable Syntax</h3>
+<a name="index-getter"></a>
+<a name="index-setter"></a>
+
+<p>Logo distinguishes <var>procedures</var> from <var>variables</var>.  A procedure
+is a set of instructions to carry out some computation; a variable is a
+named container that holds a data value such as a number, word, list, or
+array.
+</p>
+<p>In traditional Logo syntax, a non-numeric word typed without punctuation
+represents a request to invoke the procedure named by that word.  A word
+typed with a preceding quotation mark represents the word itself.  For
+example, in the instruction
+</p><div class="example">
+<pre class="example">	PRINT FIRST &quot;WORD
+</pre></div>
+<p>the procedures named <code>FIRST</code> and <code>PRINT</code> are invoked, but the
+procedure named <var>WORD</var> is not invoked; the word <var>W-O-R-D</var> is the
+input to FIRST.
+</p>
+<p>What about variables?  There are two things one can do with a variable:
+give it a value, and find out its value.  To give a variable a value,
+Logo provides the primitive procedure <code>MAKE</code>, which requires two
+inputs: the name of the variable and the new value to be assigned.  The
+first input, the name of the variable, is just a word, and if (as is
+almost always the case) the programmer wants to assign a value to a
+specific variable whose name is known in advance, that input is quoted,
+just as any known specific word would be:
+</p><div class="example">
+<pre class="example">	MAKE &quot;MY.VAR FIRST &quot;WORD
+</pre></div>
+<p>gives the variable named <code>MY.VAR</code> the value <code>W</code> (the first letter of
+<code>WORD</code>).
+</p>
+<p>To find the value of a variable, Logo provides the primitive procedure
+<code>THING</code>, which takes a variable name as its input, and outputs the value
+of the accessible variable with that name.  Thus
+</p><div class="example">
+<pre class="example">	PRINT THING &quot;MY.VAR
+</pre></div>
+<p>will print <code>W</code> (supposing the <code>MAKE</code> above has been done).  Since
+finding the value of a specific, known variable name is such a common
+operation, Logo also provides an abbreviated notation that combines
+<code>THING</code> with quote:
+</p><div class="example">
+<pre class="example">	PRINT :MY.VAR
+</pre></div>
+<p>The colon (which Logo old-timers pronounce &quot;dots&quot;) replaces <code>THING</code>
+and <code>&quot;</code> in the earlier version of the instruction.
+</p>
+<p>Newcomers to Logo often complain about the need for all this punctuation.
+In particular, Logo programmers who learned about dots and quotes without
+also learning about <code>THING</code> wonder why an instruction such as
+</p><div class="example">
+<pre class="example">	MAKE &quot;NEW.VAR :OLD.VAR
+</pre></div>
+<p>uses two different punctuation marks to identify the two variables.
+(Having read the paragraphs above, you will understand that actually
+both variable names are quoted, but the procedure <code>THING</code> is
+invoked to find the value of <code>OLD.VAR</code>, since it&rsquo;s that value, not
+<code>OLD.VAR</code>&rsquo;s name, that <code>MAKE</code> needs to know.  It wouldn&rsquo;t make
+sense to ask for <code>THING</code> of <code>NEW.VAR</code>, since we haven&rsquo;t given
+<code>NEW.VAR</code> a value yet.)
+</p>
+<p>Although Logo&rsquo;s punctuation rules make sense once understood, they
+do form a barrier to entry for the Logo beginner.  Why, then, couldn&rsquo;t
+Logo be designed so that an unpunctuated word would represent a
+procedure if there is a procedure by that name, or a variable if
+there is a variable by that name?  Then we could say
+</p><div class="example">
+<pre class="example">	PRINT MY.VAR
+</pre></div>
+<p>and Logo would realize that <code>MY.VAR</code> is the name of a variable, not
+of a procedure.  The traditional reason not to use this convention
+is that Logo allows the same word to name a procedure and a variable
+at the same time.  This is most often important for words that name
+data types, as in the following procedure:
+</p><div class="example">
+<pre class="example">	TO PLURAL :WORD
+	OUTPUT WORD :WORD &quot;S
+	END
+</pre></div>
+<p>Here the name <code>WORD</code> is a natural choice for the input to <code>PLURAL</code>, since
+it describes the kind of input that <code>PLURAL</code> expects.  Within the procedure,
+we use <code>WORD</code> to represent Logo&rsquo;s primitive procedure that combines two
+input words to form a new, longer word; we use <code>:WORD</code> to represent the
+variable containing the input, whatever actual word is given when
+<code>PLURAL</code> is invoked.
+</p><div class="example">
+<pre class="example">	? PRINT PLURAL &quot;COMPUTER
+	COMPUTERS
+</pre></div>
+
+<p>However, if a Logo instruction includes an unquoted word that is <strong>not</strong>
+the name of a procedure, Logo could look for a variable of that name instead.
+This would allow a &quot;punctuationless&quot; Logo, <strong>provided that users who
+want to work without colons for variables choose variable names that are not
+also procedure names.</strong>
+</p>
+<p>What about assigning a value to a variable?  Could we do without the
+quotation mark on <code>MAKE</code>&rsquo;s first input?  Alas, no.  Although the
+first input to <code>MAKE</code> is <strong>usually</strong> a constant, known
+variable name, sometimes it isn&rsquo;t, as in this example:
+</p><div class="example">
+<pre class="example">	TO INCREMENT :VAR
+	MAKE :VAR (THING :VAR)+1	; Note: it's not &quot;VAR here!
+	END
+
+	? MAKE &quot;X 5
+	? INCREMENT &quot;X
+	? PRINT :X
+	6
+</pre></div>
+<p>The procedure <code>INCREMENT</code> takes a variable name as its input and
+changes the value of that variable.  In this example there are two
+variables; the variable whose name is <code>VAR</code>, and whose value is the
+word <code>X</code>; and the variable whose name is <code>X</code> and whose value changes
+from 5 to 6.  Suppose we changed the behavior of <code>MAKE</code> so that it
+took the word after <code>MAKE</code> as the name of the variable to change;
+we would be unable to write <code>INCREMENT</code>:
+</p><div class="example">
+<pre class="example">	TO INCREMENT :VAR		; nonworking!
+	MAKE VAR (THING VAR)+1
+	END
+</pre></div>
+<p>This would assign a new value to <code>VAR</code>, not to <code>X</code>.
+</p>
+<p>What we can do is to allow an <strong>alternative</strong> to <code>MAKE</code>, a
+&quot;setter&quot; procedure for a particular variable.  The notation will be
+</p><div class="example">
+<pre class="example">	? SETFOO 7
+	? PRINT FOO
+	7
+</pre></div>
+<p><code>SETFOO</code> is a &quot;setter procedure&quot; that takes one input (in this case
+the input 7) and assigns its value to the variable named <code>FOO</code>.
+</p>
+<p>Berkeley Logo allows users to choose either the traditional notation, in
+which case the same name can be used both for a procedure and for a
+variable, or the getter/setter notation, in which variable <code>FOO</code> is
+set with <code>SETFOO</code> and examined with <code>FOO</code>, but the same name
+can&rsquo;t be used for procedure and variable.
+</p>
+<p>Here is how this choice is allowed: Berkeley Logo uses traditional
+notation, with procedures distinct from variables.  However, if there is
+a variable named <code>AllowGetSet</code> whose value is TRUE (which
+there is, by default, when Logo starts up), then if a Logo instruction
+refers to a <strong>nonexistent</strong> procedure (so that the error message
+&quot;I don&rsquo;t know how to ...&quot; would result), Logo tries the following two
+steps:
+<a name="index-AllowGetSet"></a>
+</p>
+<div class="display">
+<pre class="display">	1.  If the name is at least four characters long, and the first three
+	characters are the letters <code>SET</code> (upper or lower case), and if the name
+	is followed in the instruction by another value, and if the name
+	without the <code>SET</code> is the name of a variable that already exists, then
+	Logo will invoke <code>MAKE</code> with its first input being the name without the
+	<code>SET</code>, and its second input being the following value.
+
+	2.  If step 1&rsquo;s conditions are not met, but the name is
+	the name of an accessible variable, then Logo will invoke
+	<code>THING</code> with that name as input, to find the variable&rsquo;s value.
+</pre></div>
+
+<p>Step 1 requires that the variable already exist so that misspellings of names
+of <code>SETxxx</code> primitives (e.g., <code>SETHEADING</code>) will still be caught, instead of
+silently creating a new variable.  The command <code>GLOBAL</code> can be used to create
+a variable without giving it a value.
+</p>
+<p>One final point:  The <code>TO</code> command in Logo has always been a special
+case; the rest of the line starting with <code>TO</code> is not evaluated as
+ordinary Logo expressions are.  In particular, the colons used to
+mark the names of inputs to the procedure do not cause <code>THING</code> to be
+invoked.  They are merely mnemonic aids, reminding the Logo user
+that these words are names of variables.  (Arguably, this nonstantard
+behavior of <code>TO</code> adds to Logo beginners&rsquo; confusion about colons.)
+To a programmer using colonless variable references, the colons in
+the <code>TO</code> line are unnecessary and meaningless.  Berkeley Logo therefore
+makes the colons optional:
+</p><div class="example">
+<pre class="example">	TO FOO :IN1 :IN2
+</pre></div>
+<p>and
+</p><div class="example">
+<pre class="example">	TO FOO IN1 IN2
+</pre></div>
+<p>are both allowed.
+</p>
+
+<hr>
+<a name="ENTERING-AND-LEAVING-LOGO"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TOKENIZATION" accesskey="n" rel="next">TOKENIZATION</a>, Previous: <a href="usermanual.html#GETTER_002fSETTER-VARIBLE-SYNTAX" accesskey="p" rel="prev">GETTER/SETTER VARIBLE SYNTAX</a>, Up: <a href="usermanual.html#INTRODUCTION" accesskey="u" rel="up">INTRODUCTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Entering-and-Leaving-Logo"></a>
+<h3 class="section">1.3 Entering and Leaving Logo</h3>
+
+<a name="index-starting-ucblogo"></a>
+<a name="index-leaving-ucblogo"></a>
+
+<p>The process to start Logo depends on your operating system:
+</p>
+<dl compact="compact">
+<dt>Unix:</dt>
+<dd><p>Type the word <tt>logo</tt> to the shell.  (The directory in which you&rsquo;ve
+installed Logo must be in your path.)
+</p>
+</dd>
+<dt>DOS:</dt>
+<dd><p>Change directories to the one containing Logo (probably
+<code>C:\UCBLOGO</code>).  Then type <tt>UCBLOGO</tt> for the large memory
+version, or <tt>BL</tt> for the 640K version.
+</p>
+</dd>
+<dt>Mac:</dt>
+<dd><p>Double-click on the <code>LOGO</code> icon within the &quot;UCB Logo&quot; folder. 
+</p>
+</dd>
+<dt>Windows:</dt>
+<dd><p>Double-click on the <code>UCBWLOGO</code> icon in the <code>UCBLOGO</code> folder.
+</p></dd>
+</dl>
+
+<p>To leave Logo, enter the command <code>bye</code>.
+</p>
+<p>On startup, Logo looks for a file named <samp>startup.lg</samp> in the system Logo
+library and, if found, loads it.  Then it looks for <samp>startup.lg</samp> in the
+user&rsquo;s home directory, or the current directory, depending on the operating
+system, and loads that.  These startup files can be used to predefine
+procedures, e.g., to provide non-English names for primitive procedures.
+</p>
+<p>Under Unix, DOS, or Windows, if you include one or more filenames on the
+command line when starting Logo, those files will be loaded before the
+interpreter starts reading commands from your terminal.  If you load a file
+that executes some program that includes a <code>bye</code> command, Logo will run
+that program and exit.  You can therefore write standalone programs in Logo
+and run them with shell/batch scripts.  To support this technique, Logo does
+not print its usual welcoming and parting messages if you give file arguments
+to the logo command.
+</p>
+<p>If a command line argument is just a hyphen, then all command line arguments
+after the hyphen are not taken as filenames, but are instead collected in a
+list, one word per argument; the buried variable <code>COMMAND.LINE</code> contains
+that list of arguments, or the empty list if there are none.  On my Linux
+system, if the first line of an executable shell script is
+<tt>#!/usr/local/bin/logo&nbsp;<span class="nolinebreak">-</span></tt><!-- /@w --> (note the hyphen) then the script can be given
+command line arguments and they all end up in <code>:COMMAND.LINE</code> along with
+the script&rsquo;s path.  Experiment.
+</p>
+<p>If you type your interrupt character (see table below) Logo will stop what
+it&rsquo;s doing and return to top-level, as if you did <tt>THROW&nbsp;&quot;TOPLEVEL</tt><!-- /@w -->.  If
+you type your quit character Logo will pause as if you did <code>PAUSE</code>.
+</p>
+<div class="example">
+<pre class="example">            wxWidgets      Unix       DOS/Windows     Mac Classic
+
+toplevel      alt-S   usually ctrl-C    ctrl-Q     command-. (period)
+
+pause         alt-P   usually ctrl-\    ctrl-W     command-, (comma)
+</pre></div>
+
+<p>If you have an environment variable called <code>LOGOLIB</code> whose value is the
+name of a directory, then Logo will use that directory instead of the default
+library.  If you invoke a procedure that has not been defined, Logo first
+looks for a file in the current directory named <samp><var>proc</var>.lg</samp> where
+<var>proc</var> is the procedure name in lower case letters.  If such a file
+exists, Logo loads that file.  If the missing procedure is still undefined, or
+if there is no such file, Logo then looks in the library directory for a file
+named <samp><var>proc</var></samp> (no <samp>.lg</samp>) and, if it exists, loads it.  If
+neither file contains a definition for the procedure, then Logo signals an
+error.  Several procedures that are primitive in most versions of Logo are
+included in the default library, so if you use a different library you may
+want to include some or all of the default library in it.
+</p>
+
+<hr>
+<a name="TOKENIZATION"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#ENTERING-AND-LEAVING-LOGO" accesskey="p" rel="prev">ENTERING AND LEAVING LOGO</a>, Up: <a href="usermanual.html#INTRODUCTION" accesskey="u" rel="up">INTRODUCTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Tokenization"></a>
+<h3 class="section">1.4 Tokenization</h3>
+
+<p>Names of procedures, variables, and property lists are case-insensitive.  So
+are the special words <code>END</code>, <code>TRUE</code>, and <code>FALSE</code>.  Case of
+letters is preserved in everything you type, however.
+</p>
+<a name="index-case_002dinsensitive"></a>
+<a name="index-delimiters"></a>
+<a name="index-runparsing"></a>
+<a name="index-line_002dcontinuation"></a>
+<a name="index-comments"></a>
+
+<p>Within square brackets, words are delimited only by spaces and square
+brackets.  <code>[2+3]</code> is a list containing one word.  Note, however, that
+the Logo primitives that interpret such a list as a Logo instruction or
+expression (<code>RUN</code>, <code>IF</code>, etc.) reparse the list as if it had not
+been typed inside brackets.
+</p>
+<p>After a quotation mark outside square brackets, a word is delimited by
+a space, a square bracket, or a parenthesis.
+</p>
+<p>A word not after a quotation mark or inside square brackets is delimited by a
+space, a bracket, a parenthesis, or an infix operator <code>+-*/=&lt;&gt;</code>.  Note
+that words following colons are in this category.  Note that quote and colon
+are not delimiters.  Each infix operator character is a word in itself, except
+that the two-character sequences <code>&lt;=</code>, <code>&gt;=</code>, and <code>&lt;&gt;</code> (the
+latter meaning not-equal) with no intervening space are recognized as a single
+word.
+</p>
+<p>A word consisting of a question mark followed by a number (e.g., <code>?37</code>),
+when runparsed (i.e., where a procedure name is expected), is treated
+as if it were the sequence
+</p>
+<div class="example">
+<pre class="example">( ? 37 )
+</pre></div>
+
+<p>making the number an input to the ? procedure.  (See the discussion of
+templates, below.)  This special treatment does not apply to words read
+as data, to words with a non-number following the question mark, or if
+the question mark is backslashed.
+</p>
+<p>A line (an instruction line or one read by <code>READLIST</code> or <code>READWORD</code>)
+can be continued onto the following line if its last character is a tilde (<code>~</code>).
+<code>READWORD</code> preserves the tilde and the newline; <code>READLIST</code> does not.
+</p>
+<p>Lines read with <code>READRAWLINE</code> are never continued.
+</p>
+<p>An instruction line or a line read by <code>READLIST</code> (but not by <code>READWORD</code>)
+is automatically continued to the next line, as if ended with a tilde,
+if there are unmatched brackets, parentheses, braces, or vertical bars
+pending.  However, it&rsquo;s an error if the continuation line contains
+only the word <code>END</code>; this is to prevent runaway procedure definitions.
+Lines explicitly continued with a tilde avoid this restriction.
+</p>
+<p>If a line being typed interactively on the keyboard is continued, either
+with a tilde or automatically, Logo will display a tilde as a prompt
+character for the continuation line.
+</p>
+<p>A semicolon begins a comment in an instruction line.  Logo ignores
+characters from the semicolon to the end of the line.  A tilde as the
+last character still indicates a continuation line, but not a continuation
+of the comment.  For example, typing the instruction
+</p>
+<div class="example">
+<pre class="example">print &quot;abc;comment ~
+def
+</pre></div>
+
+<p>will print the word <code>abcdef</code>.  Semicolon has no special meaning in data
+lines read by <code>READWORD</code> or <code>READLIST</code>, but such a line can later be reparsed
+using <code>RUNPARSE</code> and then comments will be recognized.
+</p>
+<p>The two-character sequence <code>#!</code> at the beginning of a line also starts a
+comment.  Unix users can therefore write a file containing Logo commands,
+starting with the line
+</p><div class="example">
+<pre class="example">#! /usr/local/bin/logo
+</pre></div>
+<p>(or wherever your Logo executable lives) and the file will be executable
+directly from the shell.
+</p>
+<p>To include an otherwise delimiting character (including semicolon or tilde)
+in a word, precede it with backslash (<code>\</code>).  If the last character of a line
+is a backslash, then the newline character following the backslash will be
+part of the last word on the line, and the line continues onto the following
+line.  To include a backslash in a word, use <code>\\</code>.  If the combination
+backslash-newline is entered at the terminal, Logo will issue a backslash as
+a prompt character for the continuation line.  All of this applies to data
+lines read with <code>READWORD</code> or <code>READLIST</code> as well as to instruction lines.
+</p>
+<p>A line read with <code>READRAWLINE</code> has no special quoting mechanism; both
+backslash and vertical bar (described below) are just ordinary characters.
+</p>
+<p>An alternative notation to include otherwise delimiting characters in words
+is to enclose a group of characters in vertical bars.  All characters between
+vertical bars are treated as if they were letters.  In data read with <code>READWORD</code>
+the vertical bars are preserved in the resulting word.  In data read with
+<code>READLIST</code> (or resulting from a <code>PARSE</code> or <code>RUNPARSE</code> of a word) the vertical bars
+do not appear explicitly; all potentially delimiting characters (including
+spaces, brackets, parentheses, and infix operators) appear unmarked, but
+tokenized as though they were letters.  Within vertical bars, backslash may
+still be used; the only characters that must be backslashed in this context
+are backslash and vertical bar themselves.
+</p>
+<p>Characters entered between vertical bars are forever special, even if the
+word or list containing them is later reparsed with <code>PARSE</code> or <code>RUNPARSE</code>.
+Characters typed after a backslash are treated somewhat differently:  When a
+quoted word containing a backslashed character is runparsed, the backslashed
+character loses its special quality and acts thereafter as if typed normally.
+This distinction is important only if you are building a Logo expression out
+of parts, to be <code>RUN</code> later, and want to use parentheses.  For example,
+</p>
+<div class="example">
+<pre class="example">PRINT RUN (SE &quot;\( 2 &quot;+ 3 &quot;\))
+</pre></div>
+
+<p>will print 5, but
+</p>
+<div class="example">
+<pre class="example">RUN (SE &quot;MAKE &quot;&quot;|(| 2)
+</pre></div>
+
+<p>will create a variable whose name is open-parenthesis.  (Each example would
+fail if vertical bars and backslashes were interchanged.)
+</p>
+<p>A normally delimiting character entered within vertical bars is <code>EQUALP</code>
+to the same character without the vertical bars, but can be distinguished by
+the <code>VBARREDP</code> predicate.  (However, <code>VBARREDP</code> returns <code>TRUE</code>
+only for characters for which special treatment is necessary: whitespace,
+parentheses, brackets, infix operators, backslash, vertical bar, tilde, quote,
+question mark, colon, and semicolon.)
+</p>
+
+<hr>
+<a name="DATA-STRUCTURE-PRIMITIVES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#OBJECTS" accesskey="n" rel="next">OBJECTS</a>, Previous: <a href="usermanual.html#INTRODUCTION" accesskey="p" rel="prev">INTRODUCTION</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Data-Structure-Primitives"></a>
+<h2 class="chapter">2 Data Structure Primitives</h2>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CONSTRUCTORS" accesskey="1">CONSTRUCTORS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SELECTORS" accesskey="2">SELECTORS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MUTATORS" accesskey="3">MUTATORS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PREDICATES" accesskey="4">PREDICATES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#QUERIES" accesskey="5">QUERIES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="CONSTRUCTORS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SELECTORS" accesskey="n" rel="next">SELECTORS</a>, Previous: <a href="usermanual.html#DATA-STRUCTURE-PRIMITIVES" accesskey="p" rel="prev">DATA STRUCTURE PRIMITIVES</a>, Up: <a href="usermanual.html#DATA-STRUCTURE-PRIMITIVES" accesskey="u" rel="up">DATA STRUCTURE PRIMITIVES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Constructors"></a>
+<h3 class="section">2.1 Constructors</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WORD" accesskey="1">WORD</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LIST" accesskey="2">LIST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SENTENCE" accesskey="3">SENTENCE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FPUT" accesskey="4">FPUT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LPUT" accesskey="5">LPUT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ARRAY" accesskey="6">ARRAY</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MDARRAY" accesskey="7">MDARRAY</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LISTTOARRAY" accesskey="8">LISTTOARRAY</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ARRAYTOLIST" accesskey="9">ARRAYTOLIST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#COMBINE">COMBINE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#REVERSE">REVERSE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#GENSYM">GENSYM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="WORD"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LIST" accesskey="n" rel="next">LIST</a>, Previous: <a href="usermanual.html#CONSTRUCTORS" accesskey="p" rel="prev">CONSTRUCTORS</a>, Up: <a href="usermanual.html#CONSTRUCTORS" accesskey="u" rel="up">CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="word"></a>
+<h4 class="unnumberedsubsec">word</h4>
+<a name="index-word"></a>
+
+<div class="example">
+<pre class="example">WORD word1 word2
+(WORD word1 word2 word3 ...)
+</pre></div>
+
+<p>outputs a word formed by concatenating its inputs.
+</p>
+<hr>
+<a name="LIST"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SENTENCE" accesskey="n" rel="next">SENTENCE</a>, Previous: <a href="usermanual.html#WORD" accesskey="p" rel="prev">WORD</a>, Up: <a href="usermanual.html#CONSTRUCTORS" accesskey="u" rel="up">CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="list"></a>
+<h4 class="unnumberedsubsec">list</h4>
+<a name="index-list"></a>
+
+<div class="example">
+<pre class="example">LIST thing1 thing2
+(LIST thing1 thing2 thing3 ...)
+</pre></div>
+
+<p>outputs a list whose members are its inputs, which can be any Logo datum
+(word, list, or array).
+</p>
+
+<hr>
+<a name="SENTENCE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FPUT" accesskey="n" rel="next">FPUT</a>, Previous: <a href="usermanual.html#LIST" accesskey="p" rel="prev">LIST</a>, Up: <a href="usermanual.html#CONSTRUCTORS" accesskey="u" rel="up">CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="sentence"></a>
+<h4 class="unnumberedsubsec">sentence</h4>
+<a name="index-sentence"></a>
+<a name="index-se"></a>
+
+<div class="example">
+<pre class="example">SENTENCE thing1 thing2
+SE thing1 thing2
+(SENTENCE thing1 thing2 thing3 ...)
+(SE thing1 thing2 thing3 ...)
+</pre></div>
+
+<p>outputs a list whose members are its inputs, if those inputs are not
+lists, or the members of its inputs, if those inputs are lists.
+</p>
+<hr>
+<a name="FPUT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LPUT" accesskey="n" rel="next">LPUT</a>, Previous: <a href="usermanual.html#SENTENCE" accesskey="p" rel="prev">SENTENCE</a>, Up: <a href="usermanual.html#CONSTRUCTORS" accesskey="u" rel="up">CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="fput"></a>
+<h4 class="unnumberedsubsec">fput</h4>
+<a name="index-fput"></a>
+
+<div class="example">
+<pre class="example">FPUT thing list
+</pre></div>
+
+<p>outputs a list equal to its second input with one extra member, the
+first input, at the beginning.  If the second input is a word,
+then the first input must be a one-letter word, and FPUT is
+equivalent to WORD.
+</p>
+
+
+<hr>
+<a name="LPUT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ARRAY" accesskey="n" rel="next">ARRAY</a>, Previous: <a href="usermanual.html#FPUT" accesskey="p" rel="prev">FPUT</a>, Up: <a href="usermanual.html#CONSTRUCTORS" accesskey="u" rel="up">CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="lput"></a>
+<h4 class="unnumberedsubsec">lput</h4>
+<a name="index-lput"></a>
+
+<div class="example">
+<pre class="example">LPUT thing list
+</pre></div>
+
+<p>outputs a list equal to its second input with one extra member, the
+first input, at the end.  If the second input is a word,
+then the first input must be a one-letter word, and LPUT is
+equivalent to WORD with its inputs in the other order.
+</p>
+<hr>
+<a name="ARRAY"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MDARRAY" accesskey="n" rel="next">MDARRAY</a>, Previous: <a href="usermanual.html#LPUT" accesskey="p" rel="prev">LPUT</a>, Up: <a href="usermanual.html#CONSTRUCTORS" accesskey="u" rel="up">CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="array"></a>
+<h4 class="unnumberedsubsec">array</h4>
+<a name="index-array"></a>
+
+<div class="example">
+<pre class="example">ARRAY size
+(ARRAY size origin)
+</pre></div>
+
+<p>outputs an array of <var>size</var> members (must be a positive integer), each of
+which initially is an empty list.  Array members can be selected with
+<code>ITEM</code> and changed with <code>SETITEM</code>.  The first member of the array is member
+number 1 unless an <var>origin</var> input (must be an integer) is given, in
+which case the first member of the array has that number as its index.
+(Typically 0 is used as the origin if anything.)  Arrays are printed by
+<code>PRINT</code> and friends, and can be typed in, inside curly braces; indicate an
+origin with <tt>{a&nbsp;b&nbsp;c}@0</tt><!-- /@w -->.
+</p>
+
+<p>See <a href="usermanual.html#ITEM">ITEM</a> ,
+<a href="usermanual.html#SETITEM">SETITEM</a> .
+</p>
+<hr>
+<a name="MDARRAY"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LISTTOARRAY" accesskey="n" rel="next">LISTTOARRAY</a>, Previous: <a href="usermanual.html#ARRAY" accesskey="p" rel="prev">ARRAY</a>, Up: <a href="usermanual.html#CONSTRUCTORS" accesskey="u" rel="up">CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="mdarray"></a>
+<h4 class="unnumberedsubsec">mdarray</h4>
+<a name="index-mdarray"></a>
+
+<div class="example">
+<pre class="example">MDARRAY sizelist				(library procedure)
+(MDARRAY sizelist origin)
+</pre></div>
+
+<p>outputs a multi-dimensional array.  The first input must be a list of
+one or more positive integers.  The second input, if present, must be a
+single integer that applies to every dimension of the array.  
+</p>
+<p>Ex: <tt>(MDARRAY&nbsp;[3&nbsp;5]&nbsp;0)</tt><!-- /@w --> outputs a two-dimensional array whose members
+range from <tt>[0&nbsp;0]</tt><!-- /@w --> to <tt>[2&nbsp;4]</tt><!-- /@w -->.
+</p>
+
+<hr>
+<a name="LISTTOARRAY"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ARRAYTOLIST" accesskey="n" rel="next">ARRAYTOLIST</a>, Previous: <a href="usermanual.html#MDARRAY" accesskey="p" rel="prev">MDARRAY</a>, Up: <a href="usermanual.html#CONSTRUCTORS" accesskey="u" rel="up">CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="listtoarray"></a>
+<h4 class="unnumberedsubsec">listtoarray</h4>
+<a name="index-listtoarray"></a>
+
+<div class="example">
+<pre class="example">LISTTOARRAY list
+(LISTTOARRAY list origin)
+</pre></div>
+
+<p>outputs an array of the same size as the input list, whose members are
+the members of the input list.
+</p>
+
+<hr>
+<a name="ARRAYTOLIST"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#COMBINE" accesskey="n" rel="next">COMBINE</a>, Previous: <a href="usermanual.html#LISTTOARRAY" accesskey="p" rel="prev">LISTTOARRAY</a>, Up: <a href="usermanual.html#CONSTRUCTORS" accesskey="u" rel="up">CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="arraytolist"></a>
+<h4 class="unnumberedsubsec">arraytolist</h4>
+<a name="index-arraytolist"></a>
+
+<div class="example">
+<pre class="example">ARRAYTOLIST array
+</pre></div>
+
+<p>outputs a list whose members are the members of the input array.  The
+first member of the output is the first member of the array, regardless
+of the array&rsquo;s origin.
+</p>
+
+<hr>
+<a name="COMBINE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#REVERSE" accesskey="n" rel="next">REVERSE</a>, Previous: <a href="usermanual.html#ARRAYTOLIST" accesskey="p" rel="prev">ARRAYTOLIST</a>, Up: <a href="usermanual.html#CONSTRUCTORS" accesskey="u" rel="up">CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="combine"></a>
+<h4 class="unnumberedsubsec">combine</h4>
+<a name="index-combine"></a>
+
+<div class="example">
+<pre class="example">COMBINE thing1 thing2				(library procedure)
+</pre></div>
+
+<p>if <var>thing2</var> is a word, outputs <tt>WORD&nbsp;thing1&nbsp;thing2</tt><!-- /@w -->.  If <var>thing2</var>
+is a list, outputs <tt>FPUT&nbsp;thing1&nbsp;thing2</tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#WORD">WORD</a> ,
+<a href="usermanual.html#FPUT">FPUT</a>
+</p>
+<hr>
+<a name="REVERSE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#GENSYM" accesskey="n" rel="next">GENSYM</a>, Previous: <a href="usermanual.html#COMBINE" accesskey="p" rel="prev">COMBINE</a>, Up: <a href="usermanual.html#CONSTRUCTORS" accesskey="u" rel="up">CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="reverse"></a>
+<h4 class="unnumberedsubsec">reverse</h4>
+<a name="index-reverse"></a>
+
+<div class="example">
+<pre class="example">REVERSE list					(library procedure)
+</pre></div>
+
+<p>outputs a list whose members are the members of the input list, in
+reverse order.
+</p>
+<hr>
+<a name="GENSYM"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#REVERSE" accesskey="p" rel="prev">REVERSE</a>, Up: <a href="usermanual.html#CONSTRUCTORS" accesskey="u" rel="up">CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="gensym"></a>
+<h4 class="unnumberedsubsec">gensym</h4>
+<a name="index-gensym"></a>
+
+<div class="example">
+<pre class="example">GENSYM						(library procedure)
+</pre></div>
+
+<p>outputs a unique word each time it&rsquo;s invoked.  The words are of the form
+<code>G1</code>, <code>G2</code>, etc.
+</p>
+<hr>
+<a name="SELECTORS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MUTATORS" accesskey="n" rel="next">MUTATORS</a>, Previous: <a href="usermanual.html#CONSTRUCTORS" accesskey="p" rel="prev">CONSTRUCTORS</a>, Up: <a href="usermanual.html#DATA-STRUCTURE-PRIMITIVES" accesskey="u" rel="up">DATA STRUCTURE PRIMITIVES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Data-Selectors"></a>
+<h3 class="section">2.2 Data Selectors</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FIRST" accesskey="1">FIRST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FIRSTS" accesskey="2">FIRSTS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LAST" accesskey="3">LAST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BUTFIRST" accesskey="4">BUTFIRST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BUTFIRSTS" accesskey="5">BUTFIRSTS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BUTLAST" accesskey="6">BUTLAST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ITEM" accesskey="7">ITEM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MDITEM" accesskey="8">MDITEM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PICK" accesskey="9">PICK</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#REMOVE">REMOVE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#REMDUP">REMDUP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#QUOTED">QUOTED</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="FIRST"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FIRSTS" accesskey="n" rel="next">FIRSTS</a>, Previous: <a href="usermanual.html#SELECTORS" accesskey="p" rel="prev">SELECTORS</a>, Up: <a href="usermanual.html#SELECTORS" accesskey="u" rel="up">SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="first"></a>
+<h4 class="unnumberedsubsec">first</h4>
+<a name="index-first"></a>
+
+<div class="example">
+<pre class="example">FIRST thing
+</pre></div>
+
+<p>if the input is a word, outputs the first character of the word.  If the
+input is a list, outputs the first member of the list.  If the input is
+an array, outputs the origin of the array (that is, the <em>index of</em> the
+first member of the array).
+</p>
+<hr>
+<a name="FIRSTS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LAST" accesskey="n" rel="next">LAST</a>, Previous: <a href="usermanual.html#FIRST" accesskey="p" rel="prev">FIRST</a>, Up: <a href="usermanual.html#SELECTORS" accesskey="u" rel="up">SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="firsts"></a>
+<h4 class="unnumberedsubsec">firsts</h4>
+<a name="index-firsts"></a>
+
+<div class="example">
+<pre class="example">FIRSTS list
+</pre></div>
+
+<p>outputs a list containing the <code>FIRST</code> of each member of the input list.
+It is an error if any member of the input list is empty.  (The input
+itself may be empty, in which case the output is also empty.)  This
+could be written as
+</p>
+<div class="example">
+<pre class="example">to firsts :list
+output map &quot;first :list
+end
+</pre></div>
+
+<p>but is provided as a primitive in order to speed up the iteration tools
+<code>MAP</code>, <code>MAP.SE</code>, and <code>FOREACH</code>.
+</p>
+<div class="example">
+<pre class="example">to transpose :matrix
+if emptyp first :matrix [op []]
+op fput firsts :matrix transpose bfs :matrix
+end
+</pre></div>
+
+<hr>
+<a name="LAST"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BUTFIRST" accesskey="n" rel="next">BUTFIRST</a>, Previous: <a href="usermanual.html#FIRSTS" accesskey="p" rel="prev">FIRSTS</a>, Up: <a href="usermanual.html#SELECTORS" accesskey="u" rel="up">SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="last"></a>
+<h4 class="unnumberedsubsec">last</h4>
+<a name="index-last"></a>
+
+<div class="example">
+<pre class="example">LAST wordorlist
+</pre></div>
+
+<p>if the input is a word, outputs the last character of the word.  If the
+input is a list, outputs the last member of the list.
+</p>
+<hr>
+<a name="BUTFIRST"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BUTFIRSTS" accesskey="n" rel="next">BUTFIRSTS</a>, Previous: <a href="usermanual.html#LAST" accesskey="p" rel="prev">LAST</a>, Up: <a href="usermanual.html#SELECTORS" accesskey="u" rel="up">SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="butfirst"></a>
+<h4 class="unnumberedsubsec">butfirst</h4>
+<a name="index-butfirst"></a>
+<a name="index-bf"></a>
+
+<div class="example">
+<pre class="example">BUTFIRST wordorlist
+BF wordorlist
+</pre></div>
+
+<p>if the input is a word, outputs a word containing all but the first
+character of the input.  If the input is a list, outputs a list
+containing all but the first member of the input.
+</p>
+<hr>
+<a name="BUTFIRSTS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BUTLAST" accesskey="n" rel="next">BUTLAST</a>, Previous: <a href="usermanual.html#BUTFIRST" accesskey="p" rel="prev">BUTFIRST</a>, Up: <a href="usermanual.html#SELECTORS" accesskey="u" rel="up">SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="butfirsts"></a>
+<h4 class="unnumberedsubsec">butfirsts</h4>
+<a name="index-butfirsts"></a>
+<a name="index-bfs"></a>
+
+<div class="example">
+<pre class="example">BUTFIRSTS list
+BFS list
+</pre></div>
+
+<p>outputs a list containing the <code>BUTFIRST</code> of each member of the input list.
+It is an error if any member of the input list is empty or an array.
+(The input itself may be empty, in which case the output is also empty.)
+This could be written as
+</p>
+<div class="example">
+<pre class="example">to butfirsts :list
+output map &quot;butfirst :list
+end
+</pre></div>
+
+<p>but is provided as a primitive in order to speed up the iteration tools
+<code>MAP</code>, <code>MAP.SE</code>, and <code>FOREACH</code>.
+</p>
+<hr>
+<a name="BUTLAST"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ITEM" accesskey="n" rel="next">ITEM</a>, Previous: <a href="usermanual.html#BUTFIRSTS" accesskey="p" rel="prev">BUTFIRSTS</a>, Up: <a href="usermanual.html#SELECTORS" accesskey="u" rel="up">SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="butlast"></a>
+<h4 class="unnumberedsubsec">butlast</h4>
+<a name="index-butlast"></a>
+<a name="index-bl"></a>
+
+<div class="example">
+<pre class="example">BUTLAST wordorlist
+BL wordorlist
+</pre></div>
+
+<p>if the input is a word, outputs a word containing all but the last
+character of the input.  If the input is a list, outputs a list
+containing all but the last member of the input.
+</p>
+<hr>
+<a name="ITEM"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MDITEM" accesskey="n" rel="next">MDITEM</a>, Previous: <a href="usermanual.html#BUTLAST" accesskey="p" rel="prev">BUTLAST</a>, Up: <a href="usermanual.html#SELECTORS" accesskey="u" rel="up">SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="item"></a>
+<h4 class="unnumberedsubsec">item</h4>
+<a name="index-item"></a>
+
+<div class="example">
+<pre class="example">ITEM index thing
+</pre></div>
+
+<p>if the <var>thing</var> is a word, outputs the <var>index</var>th character of the word.
+If the <var>thing</var> is a list, outputs the <var>index</var>th member of the list.  If
+the <var>thing</var> is an array, outputs the <var>index</var>th member of the array.
+<var>Index</var> starts at 1 for words and lists; the starting index of an array
+is specified when the array is created.
+</p>
+<hr>
+<a name="MDITEM"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PICK" accesskey="n" rel="next">PICK</a>, Previous: <a href="usermanual.html#ITEM" accesskey="p" rel="prev">ITEM</a>, Up: <a href="usermanual.html#SELECTORS" accesskey="u" rel="up">SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="mditem"></a>
+<h4 class="unnumberedsubsec">mditem</h4>
+<a name="index-mditem"></a>
+
+<div class="example">
+<pre class="example">MDITEM indexlist array				(library procedure)
+</pre></div>
+
+<p>outputs the member of the multidimensional <var>array</var> selected by the list
+of numbers <var>indexlist</var>.
+</p>
+<hr>
+<a name="PICK"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#REMOVE" accesskey="n" rel="next">REMOVE</a>, Previous: <a href="usermanual.html#MDITEM" accesskey="p" rel="prev">MDITEM</a>, Up: <a href="usermanual.html#SELECTORS" accesskey="u" rel="up">SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pick"></a>
+<h4 class="unnumberedsubsec">pick</h4>
+<a name="index-pick"></a>
+
+<div class="example">
+<pre class="example">PICK list					(library procedure)
+</pre></div>
+
+<p>outputs a randomly chosen member of the input list.
+</p>
+<hr>
+<a name="REMOVE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#REMDUP" accesskey="n" rel="next">REMDUP</a>, Previous: <a href="usermanual.html#PICK" accesskey="p" rel="prev">PICK</a>, Up: <a href="usermanual.html#SELECTORS" accesskey="u" rel="up">SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="remove"></a>
+<h4 class="unnumberedsubsec">remove</h4>
+<a name="index-remove"></a>
+
+<div class="example">
+<pre class="example">REMOVE thing list				(library procedure)
+</pre></div>
+
+<p>outputs a copy of <var>list</var> with every member equal to <var>thing</var> removed.
+</p>
+<hr>
+<a name="REMDUP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#QUOTED" accesskey="n" rel="next">QUOTED</a>, Previous: <a href="usermanual.html#REMOVE" accesskey="p" rel="prev">REMOVE</a>, Up: <a href="usermanual.html#SELECTORS" accesskey="u" rel="up">SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="remdup"></a>
+<h4 class="unnumberedsubsec">remdup</h4>
+<a name="index-remdup"></a>
+
+<div class="example">
+<pre class="example">REMDUP list					(library procedure)
+</pre></div>
+
+<p>outputs a copy of <var>list</var> with duplicate members removed.  If two or more
+members of the input are equal, the rightmost of those members is the
+one that remains in the output.
+</p>
+<hr>
+<a name="QUOTED"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#REMDUP" accesskey="p" rel="prev">REMDUP</a>, Up: <a href="usermanual.html#SELECTORS" accesskey="u" rel="up">SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="quoted"></a>
+<h4 class="unnumberedsubsec">quoted</h4>
+<a name="index-quoted"></a>
+
+<div class="example">
+<pre class="example">QUOTED thing					(library procedure)
+</pre></div>
+
+<p>outputs its input, if a list; outputs its input with a quotation mark
+prepended, if a word.
+</p>
+
+
+<hr>
+<a name="MUTATORS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PREDICATES" accesskey="n" rel="next">PREDICATES</a>, Previous: <a href="usermanual.html#SELECTORS" accesskey="p" rel="prev">SELECTORS</a>, Up: <a href="usermanual.html#DATA-STRUCTURE-PRIMITIVES" accesskey="u" rel="up">DATA STRUCTURE PRIMITIVES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Data-Mutators"></a>
+<h3 class="section">2.3 Data Mutators</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETITEM" accesskey="1">SETITEM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MDSETITEM" accesskey="2">MDSETITEM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#dSETFIRST" accesskey="3">dSETFIRST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">SETFIRST  
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#dSETBF" accesskey="4">dSETBF</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">SETBF
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#dSETITEM" accesskey="5">dSETITEM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">SETITEM
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PUSH" accesskey="6">PUSH</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#POP" accesskey="7">POP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#QUEUE" accesskey="8">QUEUE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#DEQUEUE" accesskey="9">DEQUEUE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="SETITEM"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MDSETITEM" accesskey="n" rel="next">MDSETITEM</a>, Previous: <a href="usermanual.html#MUTATORS" accesskey="p" rel="prev">MUTATORS</a>, Up: <a href="usermanual.html#MUTATORS" accesskey="u" rel="up">MUTATORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setitem"></a>
+<h4 class="unnumberedsubsec">setitem</h4>
+<a name="index-setitem"></a>
+
+<div class="example">
+<pre class="example">SETITEM index array value
+</pre></div>
+
+<p>command.  Replaces the <var>index</var>th member of <var>array</var> with the new <var>value</var>.
+Ensures that the resulting array is not circular, i.e., <var>value</var> may not
+be a list or array that contains <var>array</var>.
+</p>
+<hr>
+<a name="MDSETITEM"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#dSETFIRST" accesskey="n" rel="next">dSETFIRST</a>, Previous: <a href="usermanual.html#SETITEM" accesskey="p" rel="prev">SETITEM</a>, Up: <a href="usermanual.html#MUTATORS" accesskey="u" rel="up">MUTATORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="mdsetitem"></a>
+<h4 class="unnumberedsubsec">mdsetitem</h4>
+<a name="index-mdsetitem"></a>
+
+<div class="example">
+<pre class="example">MDSETITEM indexlist array value			(library procedure)
+</pre></div>
+
+<p>command.  Replaces the member of <var>array</var> chosen by <var>indexlist</var> with the
+new <var>value</var>.
+</p>
+<hr>
+<a name="dSETFIRST"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#dSETBF" accesskey="n" rel="next">dSETBF</a>, Previous: <a href="usermanual.html#MDSETITEM" accesskey="p" rel="prev">MDSETITEM</a>, Up: <a href="usermanual.html#MUTATORS" accesskey="u" rel="up">MUTATORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="g_t_002esetfirst"></a>
+<h4 class="unnumberedsubsec">.setfirst</h4>
+<a name="index-_002esetfirst"></a>
+
+<div class="example">
+<pre class="example">.SETFIRST list value
+</pre></div>
+
+<p>command.  Changes the first member of <var>list</var> to be <var>value</var>.
+</p>
+<p>WARNING: Primitives whose names start with a period are <strong>dangerous</strong>.
+Their use by non-experts is not recommended.  The use of <code>.SETFIRST</code> can
+lead to circular list structures, which will get some Logo primitives
+into infinite loops, and to unexpected changes to other data structures that
+share storage with the list being modified.
+</p>
+<hr>
+<a name="dSETBF"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#dSETITEM" accesskey="n" rel="next">dSETITEM</a>, Previous: <a href="usermanual.html#dSETFIRST" accesskey="p" rel="prev">dSETFIRST</a>, Up: <a href="usermanual.html#MUTATORS" accesskey="u" rel="up">MUTATORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="g_t_002esetbf"></a>
+<h4 class="unnumberedsubsec">.setbf</h4>
+<a name="index-_002esetbf"></a>
+
+<div class="example">
+<pre class="example">.SETBF list value
+</pre></div>
+
+<p>command.  Changes the butfirst of <var>list</var> to be <var>value</var>.
+</p>	
+<p>WARNING: Primitives whose names start with a period are <strong>dangerous</strong>.
+Their use by non-experts is not recommended.  The use of <code>.SETBF</code> can lead
+to circular list structures, which will get some Logo primitives into
+infinite loops; unexpected changes to other data structures that share
+storage with the list being modified; or to Logo crashes and coredumps if the
+butfirst of a list is not itself a list.
+</p>
+<hr>
+<a name="dSETITEM"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PUSH" accesskey="n" rel="next">PUSH</a>, Previous: <a href="usermanual.html#dSETBF" accesskey="p" rel="prev">dSETBF</a>, Up: <a href="usermanual.html#MUTATORS" accesskey="u" rel="up">MUTATORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="g_t_002esetitem"></a>
+<h4 class="unnumberedsubsec">.setitem</h4>
+<a name="index-_002esetitem"></a>
+
+<div class="example">
+<pre class="example">.SETITEM index array value
+</pre></div>
+
+<p>command.  Changes the <var>index</var>th member of <var>array</var> to be <var>value</var>,
+like <code>SETITEM</code>, but without checking for circularity.
+</p>
+<p>WARNING: Primitives whose names start with a period are <b>dangerous</b>.
+Their use by non-experts is not recommended.  The use of <code>.SETITEM</code> can
+lead to circular arrays, which will get some Logo primitives into
+infinite loops.
+</p>
+<p>See <a href="usermanual.html#SETITEM">SETITEM</a>.
+</p>
+<hr>
+<a name="PUSH"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#POP" accesskey="n" rel="next">POP</a>, Previous: <a href="usermanual.html#dSETITEM" accesskey="p" rel="prev">dSETITEM</a>, Up: <a href="usermanual.html#MUTATORS" accesskey="u" rel="up">MUTATORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="push"></a>
+<h4 class="unnumberedsubsec">push</h4>
+<a name="index-push"></a>
+
+<div class="example">
+<pre class="example">PUSH stackname thing				(library procedure)
+</pre></div>
+
+<p>command.  Adds the <var>thing</var> to the stack that is the value of the
+variable whose name is <var>stackname</var>.  This variable must have a list as
+its value; the initial value should be the empty list.  New members are
+added at the front of the list.
+</p>
+<hr>
+<a name="POP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#QUEUE" accesskey="n" rel="next">QUEUE</a>, Previous: <a href="usermanual.html#PUSH" accesskey="p" rel="prev">PUSH</a>, Up: <a href="usermanual.html#MUTATORS" accesskey="u" rel="up">MUTATORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pop"></a>
+<h4 class="unnumberedsubsec">pop</h4>
+<a name="index-pop"></a>
+
+<div class="example">
+<pre class="example">POP stackname					(library procedure)
+</pre></div>
+
+<p>outputs the most recently <code>PUSH</code>ed member of the stack that is the value
+of the variable whose name is <var>stackname</var> and removes that member from
+the stack.
+</p>
+<hr>
+<a name="QUEUE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#DEQUEUE" accesskey="n" rel="next">DEQUEUE</a>, Previous: <a href="usermanual.html#POP" accesskey="p" rel="prev">POP</a>, Up: <a href="usermanual.html#MUTATORS" accesskey="u" rel="up">MUTATORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="queue"></a>
+<h4 class="unnumberedsubsec">queue</h4>
+<a name="index-queue"></a>
+
+<div class="example">
+<pre class="example">QUEUE queuename thing				(library procedure)
+</pre></div>
+
+<p>command.  Adds the <var>thing</var> to the queue that is the value of the
+variable whose name is <var>queuename</var>.  This variable must have a list as
+its value; the initial value should be the empty list.  New members are
+added at the back of the list.
+</p>
+<hr>
+<a name="DEQUEUE"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#QUEUE" accesskey="p" rel="prev">QUEUE</a>, Up: <a href="usermanual.html#MUTATORS" accesskey="u" rel="up">MUTATORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="dequeue"></a>
+<h4 class="unnumberedsubsec">dequeue</h4>
+<a name="index-dequeue"></a>
+ 
+<div class="example">
+<pre class="example">DEQUEUE queuename				(library procedure)
+</pre></div>
+
+<p>outputs the least recently <code>QUEUE</code>d member of the queue that is the value
+of the variable whose name is <var>queuename</var> and removes that member from
+the queue.
+</p>
+
+<hr>
+<a name="PREDICATES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#QUERIES" accesskey="n" rel="next">QUERIES</a>, Previous: <a href="usermanual.html#MUTATORS" accesskey="p" rel="prev">MUTATORS</a>, Up: <a href="usermanual.html#DATA-STRUCTURE-PRIMITIVES" accesskey="u" rel="up">DATA STRUCTURE PRIMITIVES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Predicates"></a>
+<h3 class="section">2.4 Predicates</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WORDP" accesskey="1">WORDP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LISTP" accesskey="2">LISTP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ARRAYP" accesskey="3">ARRAYP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EMPTYP" accesskey="4">EMPTYP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EQUALP" accesskey="5">EQUALP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NOTEQUALP" accesskey="6">NOTEQUALP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BEFOREP" accesskey="7">BEFOREP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#dEQ" accesskey="8">dEQ</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">EQ
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MEMBERP" accesskey="9">MEMBERP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SUBSTRINGP">SUBSTRINGP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NUMBERP">NUMBERP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#VBARREDP">VBARREDP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="WORDP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LISTP" accesskey="n" rel="next">LISTP</a>, Previous: <a href="usermanual.html#PREDICATES" accesskey="p" rel="prev">PREDICATES</a>, Up: <a href="usermanual.html#PREDICATES" accesskey="u" rel="up">PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="wordp"></a>
+<h4 class="unnumberedsubsec">wordp</h4>
+<a name="index-wordp"></a>
+
+<div class="example">
+<pre class="example">WORDP thing
+WORD? thing
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the input is a word, <code>FALSE</code> otherwise.
+</p>
+<hr>
+<a name="LISTP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ARRAYP" accesskey="n" rel="next">ARRAYP</a>, Previous: <a href="usermanual.html#WORDP" accesskey="p" rel="prev">WORDP</a>, Up: <a href="usermanual.html#PREDICATES" accesskey="u" rel="up">PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="listp"></a>
+<h4 class="unnumberedsubsec">listp</h4>
+<a name="index-listp"></a>
+<a name="index-list_003f"></a>
+
+<div class="example">
+<pre class="example">LISTP thing
+LIST? thing
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the input is a list, <code>FALSE</code> otherwise.
+</p>
+<hr>
+<a name="ARRAYP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EMPTYP" accesskey="n" rel="next">EMPTYP</a>, Previous: <a href="usermanual.html#LISTP" accesskey="p" rel="prev">LISTP</a>, Up: <a href="usermanual.html#PREDICATES" accesskey="u" rel="up">PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="arrayp"></a>
+<h4 class="unnumberedsubsec">arrayp</h4>
+<a name="index-arrayp"></a>
+<a name="index-array_003f"></a>
+
+<div class="example">
+<pre class="example">ARRAYP thing
+ARRAY? thing
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the input is an array, <code>FALSE</code> otherwise.
+</p>
+<hr>
+<a name="EMPTYP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EQUALP" accesskey="n" rel="next">EQUALP</a>, Previous: <a href="usermanual.html#ARRAYP" accesskey="p" rel="prev">ARRAYP</a>, Up: <a href="usermanual.html#PREDICATES" accesskey="u" rel="up">PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="emptyp"></a>
+<h4 class="unnumberedsubsec">emptyp</h4>
+<a name="index-emptyp"></a>
+<a name="index-empty_003f"></a>
+
+<div class="example">
+<pre class="example">EMPTYP thing
+EMPTY? thing
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the input is the empty word or the empty list, <code>FALSE</code>
+otherwise.
+</p>
+<hr>
+<a name="EQUALP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#NOTEQUALP" accesskey="n" rel="next">NOTEQUALP</a>, Previous: <a href="usermanual.html#EMPTYP" accesskey="p" rel="prev">EMPTYP</a>, Up: <a href="usermanual.html#PREDICATES" accesskey="u" rel="up">PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="equalp"></a>
+<h4 class="unnumberedsubsec">equalp</h4>
+<a name="index-equalp"></a>
+<a name="index-equal_003f"></a>
+<a name="index-_003d"></a>
+
+<div class="example">
+<pre class="example">EQUALP thing1 thing2
+EQUAL? thing1 thing2
+thing1 = thing2
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the inputs are equal, <code>FALSE</code> otherwise.  Two numbers are
+equal if they have the same numeric value.  Two non-numeric words are
+equal if they contain the same characters in the same order.  If there
+is a variable named <code>CASEIGNOREDP</code> whose value is <code>TRUE</code>, then an upper case
+letter is considered the same as the corresponding lower case letter.
+(This is the case by default.)  Two lists are equal if their members are
+equal.  An array is only equal to itself; two separately created arrays
+are never equal even if their members are equal.  (It is important to be
+able to know if two expressions have the same array as their value
+because arrays are mutable; if, for example, two variables have the same
+array as their values then performing <code>SETITEM</code> on one of them will also
+change the other.)
+</p>
+<p>See <a href="usermanual.html#CASEIGNOREDP">CASEIGNOREDP</a> ,
+<a href="usermanual.html#SETITEM">SETITEM</a>
+</p>
+<hr>
+<a name="NOTEQUALP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BEFOREP" accesskey="n" rel="next">BEFOREP</a>, Previous: <a href="usermanual.html#EQUALP" accesskey="p" rel="prev">EQUALP</a>, Up: <a href="usermanual.html#PREDICATES" accesskey="u" rel="up">PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="notequalp"></a>
+<h4 class="unnumberedsubsec">notequalp</h4>
+<a name="index-notequalp"></a>
+<a name="index-notequal_003f"></a>
+<a name="index-_003c_003e"></a>
+
+<div class="example">
+<pre class="example">NOTEQUALP thing1 thing2
+NOTEQUAL? thing1 thing2
+thing1 &lt;&gt; thing2
+</pre></div>
+
+<p>outputs <code>FALSE</code> if the inputs are equal, <code>TRUE</code> otherwise.  See <code>EQUALP</code>
+for the meaning of equality for different data types.
+</p>
+<hr>
+<a name="BEFOREP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#dEQ" accesskey="n" rel="next">dEQ</a>, Previous: <a href="usermanual.html#NOTEQUALP" accesskey="p" rel="prev">NOTEQUALP</a>, Up: <a href="usermanual.html#PREDICATES" accesskey="u" rel="up">PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="beforep"></a>
+<h4 class="unnumberedsubsec">beforep</h4>
+<a name="index-beforep"></a>
+<a name="index-before_003f"></a>
+
+<div class="example">
+<pre class="example">BEFOREP word1 word2
+BEFORE? word1 word2
+</pre></div>
+
+<p>outputs <code>TRUE</code> if <var>word1</var> comes before <var>word2</var> in ASCII collating sequence
+(for words of letters, in alphabetical order).  Case-sensitivity is
+determined by the value of <code>CASEIGNOREDP</code>.  Note that if the inputs are
+numbers, the result may not be the same as with <code>LESSP</code>; for example,
+<tt>BEFOREP&nbsp;3&nbsp;12</tt><!-- /@w --> is false because 3 collates after 1.
+</p>
+<p>See <a href="usermanual.html#CASEIGNOREDP">CASEIGNOREDP</a> ,
+<a href="usermanual.html#LESSP">LESSP</a> 
+</p>
+<hr>
+<a name="dEQ"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MEMBERP" accesskey="n" rel="next">MEMBERP</a>, Previous: <a href="usermanual.html#BEFOREP" accesskey="p" rel="prev">BEFOREP</a>, Up: <a href="usermanual.html#PREDICATES" accesskey="u" rel="up">PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="g_t_002eeq"></a>
+<h4 class="unnumberedsubsec">.eq</h4>
+<a name="index-_002eeq"></a>
+
+<div class="example">
+<pre class="example">.EQ thing1 thing2
+</pre></div>
+
+<p>outputs <code>TRUE</code> if its two inputs are the same datum, so that applying a
+mutator to one will change the other as well.  Outputs <code>FALSE</code> otherwise,
+even if the inputs are equal in value.  
+</p>
+<p>WARNING: Primitives whose names start with a period are <strong>dangerous</strong>.
+Their use by non-experts is not recommended.  The use of mutators can
+lead to circular data structures, infinite loops, or Logo crashes.
+</p>
+<hr>
+<a name="MEMBERP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SUBSTRINGP" accesskey="n" rel="next">SUBSTRINGP</a>, Previous: <a href="usermanual.html#dEQ" accesskey="p" rel="prev">dEQ</a>, Up: <a href="usermanual.html#PREDICATES" accesskey="u" rel="up">PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="memberp"></a>
+<h4 class="unnumberedsubsec">memberp</h4>
+<a name="index-memberp"></a>
+<a name="index-member_003f"></a>
+
+<div class="example">
+<pre class="example">MEMBERP thing1 thing2
+MEMBER? thing1 thing2
+</pre></div>
+
+<p>if <var>thing2</var> is a list or an array, outputs <code>TRUE</code> if <var>thing1</var> is
+<code>EQUALP</code> to a member of <var>thing2</var>, <code>FALSE</code> otherwise.  If
+<var>thing2</var> is a word, outputs <code>TRUE</code> if <var>thing1</var> is a one-character
+word <code>EQUALP</code> to a character of <var>thing2</var>, <code>FALSE</code> otherwise.
+</p>
+<p>See <a href="usermanual.html#EQUALP">EQUALP</a> .
+</p>
+<hr>
+<a name="SUBSTRINGP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#NUMBERP" accesskey="n" rel="next">NUMBERP</a>, Previous: <a href="usermanual.html#MEMBERP" accesskey="p" rel="prev">MEMBERP</a>, Up: <a href="usermanual.html#PREDICATES" accesskey="u" rel="up">PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="substringp"></a>
+<h4 class="unnumberedsubsec">substringp</h4>
+<a name="index-substringp"></a>
+<a name="index-substring_003f"></a>
+
+<div class="example">
+<pre class="example">SUBSTRINGP thing1 thing2
+SUBSTRING? thing1 thing2
+</pre></div>
+
+<p>if <var>thing1</var> or <var>thing2</var> is a list or an array, outputs <code>FALSE</code>.  If
+<var>thing2</var> is a word, outputs <code>TRUE</code> if <var>thing1</var> is <code>EQUALP</code> to a substring of
+<var>thing2</var>, <code>FALSE</code> otherwise.
+</p>
+<p>See <a href="usermanual.html#EQUALP">EQUALP</a> .
+</p>
+<hr>
+<a name="NUMBERP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#VBARREDP" accesskey="n" rel="next">VBARREDP</a>, Previous: <a href="usermanual.html#SUBSTRINGP" accesskey="p" rel="prev">SUBSTRINGP</a>, Up: <a href="usermanual.html#PREDICATES" accesskey="u" rel="up">PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="numberp"></a>
+<h4 class="unnumberedsubsec">numberp</h4>
+<a name="index-numberp"></a>
+<a name="index-number_003f"></a>
+
+<div class="example">
+<pre class="example">NUMBERP thing
+NUMBER? thing
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the input is a number, <code>FALSE</code> otherwise.
+</p>
+<hr>
+<a name="VBARREDP"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#NUMBERP" accesskey="p" rel="prev">NUMBERP</a>, Up: <a href="usermanual.html#PREDICATES" accesskey="u" rel="up">PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="vbarredp"></a>
+<h4 class="unnumberedsubsec">vbarredp</h4>
+<a name="index-vbarredp"></a>
+<a name="index-vbarred_003f"></a>
+
+<div class="example">
+<pre class="example">VBARREDP char
+VBARRED? char
+BACKSLASHEDP char                               (library procedure)
+BACKSLASHED? char                               (library procedure)
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the input character was originally entered into Logo
+within vertical bars (|) to prevent its usual special syntactic meaning,
+<code>FALSE</code> otherwise.  (Outputs <code>TRUE</code> only if the character is a
+backslashed space, tab, newline, or one of <code>()[]+-*/=&lt;&gt;&quot;:;\~?|</code> )
+</p>
+<p>The names <code>BACKSLASHEDP</code> and <code>BACKSLASHED?</code> are included in the
+Logo library for backward compatibility with the former names of this
+primitive, although it does <em>not</em> output <code>TRUE</code> for characters
+originally entered with backslashes.
+</p>
+
+
+<hr>
+<a name="QUERIES"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#PREDICATES" accesskey="p" rel="prev">PREDICATES</a>, Up: <a href="usermanual.html#DATA-STRUCTURE-PRIMITIVES" accesskey="u" rel="up">DATA STRUCTURE PRIMITIVES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Queries"></a>
+<h3 class="section">2.5 Queries</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#COUNT" accesskey="1">COUNT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ASCII" accesskey="2">ASCII</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RAWASCII" accesskey="3">RAWASCII</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CHAR" accesskey="4">CHAR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MEMBER" accesskey="5">MEMBER</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOWERCASE" accesskey="6">LOWERCASE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#UPPERCASE" accesskey="7">UPPERCASE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#STANDOUT" accesskey="8">STANDOUT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PARSE" accesskey="9">PARSE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RUNPARSE">RUNPARSE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="COUNT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ASCII" accesskey="n" rel="next">ASCII</a>, Previous: <a href="usermanual.html#QUERIES" accesskey="p" rel="prev">QUERIES</a>, Up: <a href="usermanual.html#QUERIES" accesskey="u" rel="up">QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="count"></a>
+<h4 class="unnumberedsubsec">count</h4>
+<a name="index-count"></a>
+
+<div class="example">
+<pre class="example">COUNT thing
+</pre></div>
+
+<p>outputs the number of characters in the input, if the input is a word;
+outputs the number of members in the input, if it is a list or an array.
+(For an array, this may or may not be the index of the last member,
+depending on the array&rsquo;s origin.)
+</p>
+<hr>
+<a name="ASCII"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#RAWASCII" accesskey="n" rel="next">RAWASCII</a>, Previous: <a href="usermanual.html#COUNT" accesskey="p" rel="prev">COUNT</a>, Up: <a href="usermanual.html#QUERIES" accesskey="u" rel="up">QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ascii"></a>
+<h4 class="unnumberedsubsec">ascii</h4>
+<a name="index-ascii"></a>
+
+<div class="example">
+<pre class="example">ASCII char
+</pre></div>
+
+<p>outputs the integer (between 0 and 255) that represents the input
+character in the ASCII code.  Interprets control characters as
+representing vbarred punctuation, and returns the character code for
+the corresponding punctuation character without vertical bars.  (Compare
+<code>RAWASCII</code>.)
+</p>
+<hr>
+<a name="RAWASCII"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CHAR" accesskey="n" rel="next">CHAR</a>, Previous: <a href="usermanual.html#ASCII" accesskey="p" rel="prev">ASCII</a>, Up: <a href="usermanual.html#QUERIES" accesskey="u" rel="up">QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="rawascii"></a>
+<h4 class="unnumberedsubsec">rawascii</h4>
+<a name="index-rawascii"></a>
+
+<div class="example">
+<pre class="example">RAWASCII char
+</pre></div>
+
+<p>outputs the integer (between 0 and 255) that represents the input
+character in the ASCII code.  Interprets control characters as
+representing themselves.  To find out the ASCII code of an arbitrary
+keystroke, use <tt>RAWASCII&nbsp;RC</tt><!-- /@w -->.
+</p>
+<hr>
+<a name="CHAR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MEMBER" accesskey="n" rel="next">MEMBER</a>, Previous: <a href="usermanual.html#RAWASCII" accesskey="p" rel="prev">RAWASCII</a>, Up: <a href="usermanual.html#QUERIES" accesskey="u" rel="up">QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="char"></a>
+<h4 class="unnumberedsubsec">char</h4>
+<a name="index-char"></a>
+
+<div class="example">
+<pre class="example">CHAR int
+</pre></div>
+
+<p>outputs the character represented in the ASCII code by the input, which
+must be an integer between 0 and 255.
+</p>
+<p>See <a href="usermanual.html#ASCII">ASCII</a> .
+</p>
+<hr>
+<a name="MEMBER"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LOWERCASE" accesskey="n" rel="next">LOWERCASE</a>, Previous: <a href="usermanual.html#CHAR" accesskey="p" rel="prev">CHAR</a>, Up: <a href="usermanual.html#QUERIES" accesskey="u" rel="up">QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="member"></a>
+<h4 class="unnumberedsubsec">member</h4>
+<a name="index-member"></a>
+
+<div class="example">
+<pre class="example">MEMBER thing1 thing2
+</pre></div>
+
+<p>if <var>thing2</var> is a word or list and if <code>MEMBERP</code> with these inputs would
+output <code>TRUE</code>, outputs the portion of <var>thing2</var> from the first instance of
+<var>thing1</var> to the end.  If <code>MEMBERP</code> would output <code>FALSE</code>, outputs the empty
+word or list according to the type of <var>thing2</var>.  It is an error for
+<var>thing2</var> to be an array.
+</p>
+<p>See <a href="usermanual.html#MEMBERP">MEMBERP</a> .
+</p>
+<hr>
+<a name="LOWERCASE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#UPPERCASE" accesskey="n" rel="next">UPPERCASE</a>, Previous: <a href="usermanual.html#MEMBER" accesskey="p" rel="prev">MEMBER</a>, Up: <a href="usermanual.html#QUERIES" accesskey="u" rel="up">QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="lowercase"></a>
+<h4 class="unnumberedsubsec">lowercase</h4>
+<a name="index-lowercase"></a>
+
+<div class="example">
+<pre class="example">LOWERCASE word
+</pre></div>
+
+<p>outputs a copy of the input word, but with all uppercase letters changed
+to the corresponding lowercase letter.
+</p>
+<hr>
+<a name="UPPERCASE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#STANDOUT" accesskey="n" rel="next">STANDOUT</a>, Previous: <a href="usermanual.html#LOWERCASE" accesskey="p" rel="prev">LOWERCASE</a>, Up: <a href="usermanual.html#QUERIES" accesskey="u" rel="up">QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="uppercase"></a>
+<h4 class="unnumberedsubsec">uppercase</h4>
+<a name="index-uppercase"></a>
+
+<div class="example">
+<pre class="example">UPPERCASE word
+</pre></div>
+
+<p>outputs a copy of the input word, but with all lowercase letters changed
+to the corresponding uppercase letter.
+</p>
+<hr>
+<a name="STANDOUT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PARSE" accesskey="n" rel="next">PARSE</a>, Previous: <a href="usermanual.html#UPPERCASE" accesskey="p" rel="prev">UPPERCASE</a>, Up: <a href="usermanual.html#QUERIES" accesskey="u" rel="up">QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="standout"></a>
+<h4 class="unnumberedsubsec">standout</h4>
+<a name="index-standout"></a>
+
+<div class="example">
+<pre class="example">STANDOUT thing
+</pre></div>
+
+<p>outputs a word that, when printed, will appear like the input but
+displayed in standout mode (boldface, reverse video, or whatever your
+version does for standout).  The word contains machine-specific magic
+characters at the beginning and end; in between is the printed form (as
+if displayed using <code>TYPE</code>) of the input.  The output is always a word,
+even if the input is of some other type, but it may include spaces and
+other formatting characters.  Note: a word output by <code>STANDOUT</code> while Logo
+is running on one machine will probably not have the desired effect if
+printed on another type of machine.
+</p>
+<p>In the Macintosh classic version, the way that standout works is incompatible with the
+use of characters whose ASCII code is greater than 127.  Therefore, you
+have a choice to make:  The instruction 
+</p><div class="example">
+<pre class="example">CANINVERSE 0 
+</pre></div>
+<p>disables standout, but enables the display of ASCII codes above 127, and
+the instruction
+</p><div class="example">
+<pre class="example">CANINVERSE 1 
+</pre></div>
+<p>restores the default situation in which standout is enabled and the
+extra graphic characters cannot be printed.
+</p>
+<hr>
+<a name="PARSE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#RUNPARSE" accesskey="n" rel="next">RUNPARSE</a>, Previous: <a href="usermanual.html#STANDOUT" accesskey="p" rel="prev">STANDOUT</a>, Up: <a href="usermanual.html#QUERIES" accesskey="u" rel="up">QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="parse"></a>
+<h4 class="unnumberedsubsec">parse</h4>
+<a name="index-parse"></a>
+
+<div class="example">
+<pre class="example">PARSE word
+</pre></div>
+
+<p>outputs the list that would result if the input word were entered in
+response to a <code>READLIST</code> operation.  That is, <tt>PARSE&nbsp;READWORD</tt><!-- /@w --> has the same
+value as <code>READLIST</code> for the same characters read.
+</p>
+<p>See <a href="usermanual.html#READLIST">READLIST</a> .
+</p>
+
+<hr>
+<a name="RUNPARSE"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#PARSE" accesskey="p" rel="prev">PARSE</a>, Up: <a href="usermanual.html#QUERIES" accesskey="u" rel="up">QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="runparse"></a>
+<h4 class="unnumberedsubsec">runparse</h4>
+<a name="index-runparse"></a>
+
+<div class="example">
+<pre class="example">RUNPARSE wordorlist
+</pre></div>
+
+<p>outputs the list that would result if the input word or list were
+entered as an instruction line; characters such as infix operators and
+parentheses are separate members of the output.  Note that sublists of a
+runparsed list are not themselves runparsed.
+</p>
+
+<hr>
+<a name="OBJECTS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#COMMUNICATION" accesskey="n" rel="next">COMMUNICATION</a>, Previous: <a href="usermanual.html#DATA-STRUCTURE-PRIMITIVES" accesskey="p" rel="prev">DATA STRUCTURE PRIMITIVES</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Objects"></a>
+<h2 class="chapter">3 Objects</h2>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OBJECT-CONSTRUCTORS" accesskey="1">OBJECT CONSTRUCTORS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OBJECT-MUTATORS" accesskey="2">OBJECT MUTATORS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OBJECT-SELECTORS" accesskey="3">OBJECT SELECTORS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MESSAGES" accesskey="4">MESSAGES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OBJECT-QUERIES" accesskey="5">OBJECT QUERIES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#USUAL" accesskey="6">USUAL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<p>Note: The object implementation in UCBLogo is new and still being
+worked on. It also is optional and may not be compiled into the
+version you are using. Bug reports and patches are greatly
+appreciated.
+</p>
+<p>An object is a data structure, like a list, except that instead of just
+a sequence of elements, an object has <var>named</var> elements, which are
+either variables or procedures.  (A procedure that belongs to an object
+is sometimes called a <var>method</var>.)  In the object metaphor, instead of
+just having the one computer that does everything, we think of each
+object as capable of doing things.  One object can ask another object to
+do something for it.
+</p>
+<p>At any moment, there is a <var>current object</var>.  That object might have
+its own version of procedures that are available globally and documented
+in this manual.  So workspace operations such as <code>pots</code> or
+<code>erase</code> might have different effects depending on the current
+object.
+</p>
+<p>The initial current object is called <code>logo</code>; there is an operation
+that outputs that object.  Every object has one or more <var>parents</var>,
+and ultimately the parent of the parent... of an object has to be
+<code>logo</code>.  The primitive procedures in this manual belong to the
+<code>logo</code> object, as do global variables.
+</p>
+<p>Turtles are objects.  This is valuable in part so that you can customize
+the behavior of a turtle.  For example, if you&rsquo;re simulating a
+kaleidoscope, you might want half your turtles to swap the meanings of
+the <code>left</code> and <code>right</code> commands.  But given what&rsquo;s said above
+about there being a current object, and that the initial current object
+is <code>logo</code>, which isn&rsquo;t a turtle, you might think that you can&rsquo;t run
+<code>forward 100</code> without first creating a turtle object and making it
+the current object.  But a goal of this object system is that things
+that were easy in traditional Logo should still be easy.  And so, in
+addition to the current object, there is also a <var>default turtle</var>; if
+a turtle procedure is addressed to an object that isn&rsquo;t a turtle, there
+is a <code>logo</code> procedure for each turtle procedure that does the
+equivalent of
+</p><div class="example">
+<pre class="example">to forward :distance
+ask defaultturtle [forward :distance]
+end
+</pre></div>
+
+<p>Unlike some other object oriented languages, Berkeley Logo does not
+distinguish between classes (kinds of objects, which mostly specify the
+procedures (the methods) of objects of that kind) and instances
+(individual concrete objects, with state memory in the form of variables
+belonging to the instance).  Instead we use <var>prototyping</var> OOP, in
+which any object (instance) can serve as the model, the prototype (the
+class), for other objects.
+</p>
+<p>Class/instance OOP is the right thing for large teams of programmers who
+need a detailed specification (in the form of class definitions) of the
+desired program behavior before they start writing code.  But
+prototyping OOP is the right thing for tinkering, for having a glimmer
+of an idea and playing around with it without a rigid specification.
+So, you want to have dogs in your program.  You start by <var>building a
+dog</var>, one you can see on the screen as you invent behaviors such as
+<code>roll.over</code> and <code>wag.tail</code>.  Then you make a bunch of objects
+with that dog as their parent, using that dog as a prototype.  But the
+prototype dog is still a particular dog, with a particular position,
+color, and so on.
+</p>
+<p>Having said that, sometimes you do want to distinguish a class object,
+which will mostly have procedures, with few or no variables, and its
+instance objects, which mostly inherit procedures from the class, but
+have their own individual variables.  To accommodate that style of work,
+we distinguish two ways to make a child object from a parent object.
+<code>Kindof</code> takes an object as input, and outputs a new object that
+inherits from the input object.  This is how to make a subclass that is
+mostly like the given class, but overrides certain behaviors.
+<code>Oneof</code> makes a child object, but <code>ask</code>s the new object to
+<code>exist</code> before outputting it.  Every object has an <code>exist</code>
+procedure, because it inherits one from <code>logo</code> if no intermediate
+ancestor specifies one.  The details come a little later in this
+section, in the <var>Constructors</var> subsection, but this is the general
+idea of how class/instance programming can be accommodated in a
+prototyping OOP language.
+</p>
+
+<hr>
+<a name="OBJECT-CONSTRUCTORS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#OBJECT-MUTATORS" accesskey="n" rel="next">OBJECT MUTATORS</a>, Previous: <a href="usermanual.html#OBJECTS" accesskey="p" rel="prev">OBJECTS</a>, Up: <a href="usermanual.html#OBJECTS" accesskey="u" rel="up">OBJECTS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Constructors-1"></a>
+<h3 class="section">3.1 Constructors</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#KINDOF" accesskey="1">KINDOF</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SOMETHING" accesskey="2">SOMETHING</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ONEOF" accesskey="3">ONEOF</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="KINDOF"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SOMETHING" accesskey="n" rel="next">SOMETHING</a>, Previous: <a href="usermanual.html#OBJECT-CONSTRUCTORS" accesskey="p" rel="prev">OBJECT CONSTRUCTORS</a>, Up: <a href="usermanual.html#OBJECT-CONSTRUCTORS" accesskey="u" rel="up">OBJECT CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="kindof"></a>
+<h4 class="unnumberedsubsec">kindof</h4>
+<a name="index-kindof"></a>
+
+<div class="example">
+<pre class="example">KINDOF object
+KINDOF objectlist
+(KINDOF object1 object2 ...)
+</pre></div>
+
+<p>creates and outputs an object whose parent is <var>object</var>, or whose
+parents are <var>object1</var>, <var>object2</var>, etc., or the elements of
+<var>objectlist</var>.  There must be at least one input, and if a list, it
+may not be empty.
+</p>
+<hr>
+<a name="SOMETHING"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ONEOF" accesskey="n" rel="next">ONEOF</a>, Previous: <a href="usermanual.html#KINDOF" accesskey="p" rel="prev">KINDOF</a>, Up: <a href="usermanual.html#OBJECT-CONSTRUCTORS" accesskey="u" rel="up">OBJECT CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="something"></a>
+<h4 class="unnumberedsubsec">something</h4>
+<a name="index-something"></a>
+
+<div class="example">
+<pre class="example">SOMETHING
+</pre></div>
+
+<p>creates and outputs an object whose parent is the <code>Logo</code> object.
+<code>make &quot;foo something</code> is equivalent to <code>make &quot;foo kindof
+logo</code>.
+</p>
+
+<hr>
+<a name="ONEOF"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#SOMETHING" accesskey="p" rel="prev">SOMETHING</a>, Up: <a href="usermanual.html#OBJECT-CONSTRUCTORS" accesskey="u" rel="up">OBJECT CONSTRUCTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="oneof"></a>
+<h4 class="unnumberedsubsec">oneof</h4>
+<a name="index-oneof"></a>
+
+<div class="example">
+<pre class="example">ONEOF object
+ONEOF objectlist
+(ONEOF object input1 input2 ...)
+(ONEOF objectlist input1 input2 ...)
+</pre></div>
+
+<p>creates an object whose parent is <var>object</var> or whose parents are the
+elements of <var>objectlist</var>.  <code>Ask</code>s the new object to
+<code>exist</code>, and then outputs the object.  Before the object is <code>Ask</code>ed to
+<code>exist</code>, all remaining inputs after the first are collected into a
+list, which is made the value of the global variable <code>initlist</code>.
+The convention is that <code>initlist</code> contains alternating names and
+values, which serve to <var>initialize</var> the newly created object.
+</p>
+<p>The output of <code>oneof</code> is usually called an <var>instance</var>.
+</p>
+<p>See <a href="usermanual.html#EXIST">EXIST</a>.
+</p>
+<hr>
+<a name="OBJECT-MUTATORS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#OBJECT-SELECTORS" accesskey="n" rel="next">OBJECT SELECTORS</a>, Previous: <a href="usermanual.html#OBJECT-CONSTRUCTORS" accesskey="p" rel="prev">OBJECT CONSTRUCTORS</a>, Up: <a href="usermanual.html#OBJECTS" accesskey="u" rel="up">OBJECTS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Mutators"></a>
+<h3 class="section">3.2 Mutators</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EXIST" accesskey="1">EXIST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#HAVE" accesskey="2">HAVE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#HAVEMAKE" accesskey="3">HAVEMAKE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="EXIST"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#HAVE" accesskey="n" rel="next">HAVE</a>, Previous: <a href="usermanual.html#OBJECT-MUTATORS" accesskey="p" rel="prev">OBJECT MUTATORS</a>, Up: <a href="usermanual.html#OBJECT-MUTATORS" accesskey="u" rel="up">OBJECT MUTATORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="exist"></a>
+<h4 class="unnumberedsubsec">exist</h4>
+<a name="index-exist"></a>
+
+<div class="example">
+<pre class="example">exist
+</pre></div>
+
+<p>Initializes a new object.  It is run automatically by <code>oneof</code>.
+</p>
+<p>The default <code>exist</code> procedure creates object-local variables with
+the odd-numbered elements of <code>initlist</code> as names, and the
+corresponding even-numbered elements as values.  Thus
+</p>
+<div class="example">
+<pre class="example">make &quot;obj (oneof logo &quot;foo &quot;bar &quot;baz &quot;garply)
+</pre></div>
+
+<p>will create a new object and then tell it to <code>exist</code>, which will in
+effect tell it to
+</p>
+<div class="example">
+<pre class="example">havemake &quot;foo &quot;bar
+havemake &quot;baz &quot;garply
+</pre></div>
+
+<p>Example:  Objects do not usually keep track of their instances.  To make
+one that does, you can specialize <code>exist</code>:
+</p>
+<div class="example">
+<pre class="example">? make &quot;recordingobject something
+? ask :recordingobject [havemake &quot;instances []]
+? ask :recordingobject [to exist]
+&gt; usual.exist
+&gt; make &quot;instances [fput self :instances]
+&gt; end
+</pre></div>
+
+<p>See <a href="usermanual.html#ONEOF">ONEOF</a>. <a href="usermanual.html#USUAL">USUAL</a>, <a href="usermanual.html#HAVEMAKE">HAVEMAKE</a>.
+</p>
+<hr>
+<a name="HAVE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#HAVEMAKE" accesskey="n" rel="next">HAVEMAKE</a>, Previous: <a href="usermanual.html#EXIST" accesskey="p" rel="prev">EXIST</a>, Up: <a href="usermanual.html#OBJECT-MUTATORS" accesskey="u" rel="up">OBJECT MUTATORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="have"></a>
+<h4 class="unnumberedsubsec">have</h4>
+<a name="index-have"></a>
+
+<div class="example">
+<pre class="example">HAVE name
+HAVE namelist
+</pre></div>
+
+<p>tells the current object to create an object variable named <var>name</var>,
+or object variables whose names are the elements of <var>namelist</var>.
+</p>
+<p>See <a href="usermanual.html#HAVEMAKE">HAVEMAKE</a>.
+</p>
+<hr>
+<a name="HAVEMAKE"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#HAVE" accesskey="p" rel="prev">HAVE</a>, Up: <a href="usermanual.html#OBJECT-MUTATORS" accesskey="u" rel="up">OBJECT MUTATORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="havemake"></a>
+<h4 class="unnumberedsubsec">havemake</h4>
+<a name="index-havemake"></a>
+
+<div class="example">
+<pre class="example">HAVEMAKE name value
+</pre></div>
+
+<p>tells the current object to create an object variable named <var>name</var>,
+and give it the value <var>value</var>.  Since procedure input values are
+computed before the procedure is run, the <var>value</var> expression may
+refer to the object&rsquo;s parent&rsquo;s variable named <var>name</var>:
+</p>
+<div class="example">
+<pre class="example">havemake &quot;size :size/2
+</pre></div>
+
+<p>See <a href="usermanual.html#HAVE">HAVE</a>, <a href="usermanual.html#MAKE">MAKE</a>.
+</p>
+
+<hr>
+<a name="OBJECT-SELECTORS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MESSAGES" accesskey="n" rel="next">MESSAGES</a>, Previous: <a href="usermanual.html#OBJECT-MUTATORS" accesskey="p" rel="prev">OBJECT MUTATORS</a>, Up: <a href="usermanual.html#OBJECTS" accesskey="u" rel="up">OBJECTS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="selectors"></a>
+<h3 class="section">3.3 selectors</h3>
+
+<p>All selectors apply to the current object.  If you want to select from
+another object, use <code>ask</code>.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SELF" accesskey="1">SELF</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PARENTS" accesskey="2">PARENTS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MYNAMES" accesskey="3">MYNAMES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MYNAMEP" accesskey="4">MYNAMEP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MYPROCS" accesskey="5">MYPROCS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MYPROCP" accesskey="6">MYPROCP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="SELF"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PARENTS" accesskey="n" rel="next">PARENTS</a>, Previous: <a href="usermanual.html#OBJECT-SELECTORS" accesskey="p" rel="prev">OBJECT SELECTORS</a>, Up: <a href="usermanual.html#OBJECT-SELECTORS" accesskey="u" rel="up">OBJECT SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="self"></a>
+<h4 class="unnumberedsubsec">self</h4>
+<a name="index-self"></a>
+
+<div class="example">
+<pre class="example">SELF
+</pre></div>
+
+<p>outputs the current object (not its name!).
+</p>
+<hr>
+<a name="PARENTS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MYNAMES" accesskey="n" rel="next">MYNAMES</a>, Previous: <a href="usermanual.html#SELF" accesskey="p" rel="prev">SELF</a>, Up: <a href="usermanual.html#OBJECT-SELECTORS" accesskey="u" rel="up">OBJECT SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="parents"></a>
+<h4 class="unnumberedsubsec">parents</h4>
+<a name="index-parents"></a>
+
+<div class="example">
+<pre class="example">PARENTS
+</pre></div>
+
+<p>outputs a list containing the parent(s) of the current object.  All
+objects except for <code>logo</code> have at least one parent.  Note that the
+elements of the output list are objects, not names of objects.
+</p>
+<p>Examples:
+</p>
+<div class="example">
+<pre class="example">to grandparents
+output remdup (map.se [ask ? [parents]] parents)
+end
+
+to ancestors
+if emptyp parents [output (list self)]   ; can happen only if self=logo
+output remdup sentence parents map.se [ask ? [ancestors]] parents
+end
+</pre></div>
+
+<hr>
+<a name="MYNAMES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MYNAMEP" accesskey="n" rel="next">MYNAMEP</a>, Previous: <a href="usermanual.html#PARENTS" accesskey="p" rel="prev">PARENTS</a>, Up: <a href="usermanual.html#OBJECT-SELECTORS" accesskey="u" rel="up">OBJECT SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="mynames"></a>
+<h4 class="unnumberedsubsec">mynames</h4>
+<a name="index-mynames"></a>
+
+<div class="example">
+<pre class="example">MYNAMES
+</pre></div>
+
+<p>output a list of the names of the object variables owned (not inherited)
+by the current object.
+</p>
+<hr>
+<a name="MYNAMEP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MYPROCS" accesskey="n" rel="next">MYPROCS</a>, Previous: <a href="usermanual.html#MYNAMES" accesskey="p" rel="prev">MYNAMES</a>, Up: <a href="usermanual.html#OBJECT-SELECTORS" accesskey="u" rel="up">OBJECT SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="mynamep"></a>
+<h4 class="unnumberedsubsec">mynamep</h4>
+<a name="index-mynamep"></a>
+<a name="index-myname_003f"></a>
+
+<div class="example">
+<pre class="example">MYNAMEP name
+MYNAME? name
+</pre></div>
+
+<p>outputs <code>true</code> if <var>name</var> is the name of an object variable
+owned (not inherited) by the current object, <code>false</code> otherwise.
+</p>
+<p>See <a href="usermanual.html#MYNAMES">MYNAMES</a>.
+</p>
+<hr>
+<a name="MYPROCS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MYPROCP" accesskey="n" rel="next">MYPROCP</a>, Previous: <a href="usermanual.html#MYNAMEP" accesskey="p" rel="prev">MYNAMEP</a>, Up: <a href="usermanual.html#OBJECT-SELECTORS" accesskey="u" rel="up">OBJECT SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="myprocs"></a>
+<h4 class="unnumberedsubsec">myprocs</h4>
+<a name="index-myprocs"></a>
+
+<div class="example">
+<pre class="example">MYPROCS
+</pre></div>
+
+<p>outputs a list of the names of the procedures (methods) owned by (not
+inherited by) the current object.
+</p>
+<hr>
+<a name="MYPROCP"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#MYPROCS" accesskey="p" rel="prev">MYPROCS</a>, Up: <a href="usermanual.html#OBJECT-SELECTORS" accesskey="u" rel="up">OBJECT SELECTORS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="myprocp"></a>
+<h4 class="unnumberedsubsec">myprocp</h4>
+<a name="index-myprocp"></a>
+<a name="index-myproc_003f"></a>
+
+<div class="example">
+<pre class="example">MYPROCP name
+MYPROC? name
+</pre></div>
+
+<p>outputs <code>true</code> if <var>name</var> is the name of a procedure (a method)
+owned (not inherited) by the current object, <code>false</code> otherwise.
+</p>
+<p>See <a href="usermanual.html#MYPROCS">MYPROCS</a>.
+</p>
+<hr>
+<a name="MESSAGES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#OBJECT-QUERIES" accesskey="n" rel="next">OBJECT QUERIES</a>, Previous: <a href="usermanual.html#OBJECT-SELECTORS" accesskey="p" rel="prev">OBJECT SELECTORS</a>, Up: <a href="usermanual.html#OBJECTS" accesskey="u" rel="up">OBJECTS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Messages"></a>
+<h3 class="section">3.4 Messages</h3>
+
+<p>The procedures in this section are for changing the current object,
+either permanently (unless changed again) or just to send one message.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TALKTO" accesskey="1">TALKTO</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ASK" accesskey="2">ASK</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="TALKTO"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ASK" accesskey="n" rel="next">ASK</a>, Up: <a href="usermanual.html#MESSAGES" accesskey="u" rel="up">MESSAGES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="talkto"></a>
+<h4 class="unnumberedsubsec">talkto</h4>
+<a name="index-talkto"></a>
+
+<div class="example">
+<pre class="example">TALKTO object
+</pre></div>
+
+<p>changes the current object to <var>object</var>.  (Note that the input is an
+object, not the name of an object.)  <code>Talkto</code> can be used only at
+toplevel or within a <code>pause</code>  (when typing into a Logo prompt, not
+inside a procedure).
+</p>
+<p>See <a href="usermanual.html#ASK">ASK</a>.
+</p>
+<hr>
+<a name="ASK"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#TALKTO" accesskey="p" rel="prev">TALKTO</a>, Up: <a href="usermanual.html#MESSAGES" accesskey="u" rel="up">MESSAGES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ask"></a>
+<h4 class="unnumberedsubsec">ask</h4>
+<a name="index-ask"></a>
+
+<div class="example">
+<pre class="example">ASK object runlist
+</pre></div>
+
+<p>command or operation.  Temporarily sets the current object to
+<var>object</var> while running the instructions or expression in
+<var>runlist</var>.  If <var>runlist</var> is an expression, then <code>ask</code>
+outputs its value.  As soon as <var>runlist</var> finishes, the current
+object is set back to its previous value.
+</p>
+<p>See <a href="usermanual.html#TALKTO">TALKTO</a>.
+</p>
+<hr>
+<a name="OBJECT-QUERIES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#USUAL" accesskey="n" rel="next">USUAL</a>, Previous: <a href="usermanual.html#MESSAGES" accesskey="p" rel="prev">MESSAGES</a>, Up: <a href="usermanual.html#OBJECTS" accesskey="u" rel="up">OBJECTS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Queries-1"></a>
+<h3 class="section">3.5 Queries</h3>
+
+<p>These procedures are particularly useful when debugging.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WHOSENAME" accesskey="1">WHOSENAME</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WHOSEPROC" accesskey="2">WHOSEPROC</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="WHOSENAME"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#WHOSEPROC" accesskey="n" rel="next">WHOSEPROC</a>, Previous: <a href="usermanual.html#OBJECT-QUERIES" accesskey="p" rel="prev">OBJECT QUERIES</a>, Up: <a href="usermanual.html#OBJECT-QUERIES" accesskey="u" rel="up">OBJECT QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="whosename"></a>
+<h4 class="unnumberedsubsec">whosename</h4>
+<a name="index-whosename"></a>
+
+<div class="example">
+<pre class="example">WHOSENAME name
+</pre></div>
+
+<p>outputs the object that owns the currently accessible variable named
+<var>name</var>.  If there is no such accessible variable, or it&rsquo;s a
+procedure-local variable, an error is signalled.
+</p>
+<hr>
+<a name="WHOSEPROC"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#WHOSENAME" accesskey="p" rel="prev">WHOSENAME</a>, Up: <a href="usermanual.html#OBJECT-QUERIES" accesskey="u" rel="up">OBJECT QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="whoseproc"></a>
+<h4 class="unnumberedsubsec">whoseproc</h4>
+<a name="index-whoseproc"></a>
+
+<div class="example">
+<pre class="example">WHOSEPROC name
+</pre></div>
+
+<p>outputs the object that owns the currently accessible procedure named
+<var>name</var>.  If there is no such procedure, an error is signalled.
+</p>
+<hr>
+<a name="USUAL"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#OBJECT-QUERIES" accesskey="p" rel="prev">OBJECT QUERIES</a>, Up: <a href="usermanual.html#OBJECTS" accesskey="u" rel="up">OBJECTS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="usual"></a>
+<h3 class="section">3.6 usual</h3>
+<a name="index-usual"></a>
+
+<div class="example">
+<pre class="example">to foo ...
+...
+USUAL.foo ...
+...
+end
+</pre></div>
+
+<p><code>Usual</code> is not a procedure.  It&rsquo;s a special notation that can be
+used only inside a procedure definition; the word <code>usual</code> must be
+followed by a period and then the name of the procedure being defined.
+(That is, <code>usual.foo</code> can be used only inside the definition of
+<code>foo</code>.)  It refers to the procedure that would be inherited from a
+parent if this (re)definition didn&rsquo;t exist; it allows a specialized
+method to invoke the ordinary version.
+</p>
+<div class="example">
+<pre class="example">make &quot;bigturtle kindof turtle
+ask :bigturtle [to forward :length]
+usual.forward 2 * :length
+end
+</pre></div>
+
+<p>If there is no inherited procedure of the same name, then calling
+<code>usual.___</code> does nothing if used as a command, or outputs an empty
+list if used as an operation.
+</p>
+<p>If an object has multiple parents, the behavior of <code>usual</code> may be
+confusing.  Suppose the current object has two parents, <code>A</code> and
+<code>B</code>, in that order.  Then <code>usual.foo</code> in the current object&rsquo;s
+own <code>foo</code> method refers to object <code>A</code>&rsquo;s <code>foo</code>, but
+<code>usual.foo</code> within object <code>A</code>&rsquo;s <code>foo</code> refers to object
+<code>B</code>&rsquo;s <code>foo</code> in this situation, even though <code>A</code>&rsquo;s parent
+isn&rsquo;t <code>B</code>.
+</p>
+<div class="example">
+<pre class="example">make &quot;dashedturtle kindof turtle
+ask :dashedturtle [to forward :length]
+if not pendownp [usual.forward :length stop]
+if :length &lt;= 5 [usual.forward :length stop]
+usual.forward 5
+penup
+usual.forward (ifelse :length &lt;= 10 [:length-5] [5])
+pendown
+if :length &gt; 10 [forward :length-10]    ; Note no USUAL here.
+end
+
+ask :dashedturtle [forward 25]
+- - -►
+
+make &quot;bigdashed oneof (list :bigturtle :dashedturtle)
+make &quot;dashedbig oneof (list :dashedturtle :bigturtle)
+ask :bigdashed [forward 25]
+- - - - - ►
+ask :dashedbig [forward 25]
+--  --  --►
+</pre></div>
+
+
+<hr>
+<a name="COMMUNICATION"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ARITHMETIC" accesskey="n" rel="next">ARITHMETIC</a>, Previous: <a href="usermanual.html#OBJECTS" accesskey="p" rel="prev">OBJECTS</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Communication"></a>
+<h2 class="chapter">4 Communication</h2>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TRANSMITTERS" accesskey="1">TRANSMITTERS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RECEIVERS" accesskey="2">RECEIVERS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FILE-ACCESS" accesskey="3">FILE ACCESS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TERMINAL-ACCESS" accesskey="4">TERMINAL ACCESS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="TRANSMITTERS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#RECEIVERS" accesskey="n" rel="next">RECEIVERS</a>, Previous: <a href="usermanual.html#COMMUNICATION" accesskey="p" rel="prev">COMMUNICATION</a>, Up: <a href="usermanual.html#COMMUNICATION" accesskey="u" rel="up">COMMUNICATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Transmitters"></a>
+<h3 class="section">4.1 Transmitters</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PRINT" accesskey="1">PRINT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TYPE" accesskey="2">TYPE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SHOW" accesskey="3">SHOW</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<p>Note:  If there is a variable named <code>PRINTDEPTHLIMIT</code> with a nonnegative
+integer value, then complex list and array structures will be printed
+only to the allowed depth.  That is, members of members of... of members
+will be allowed only so far.  The members omitted because
+they are just past the depth limit are indicated by an ellipsis for each
+one, so a too-deep list of two members will print as <tt>[...&nbsp;...]</tt><!-- /@w -->.
+</p>
+<p>If there is a variable named <code>PRINTWIDTHLIMIT</code> with a nonnegative integer
+value, then only the first so many members of any array or
+list will be printed.  A single ellipsis replaces all missing data
+within the structure.  The width limit also applies to the number of
+characters printed in a word, except that a <code>PRINTWIDTHLIMIT</code> between 0 and 9
+will be treated as if it were 10 when applied to words.  This limit
+applies not only to the top-level printed datum but to any substructures
+within it.
+</p>
+<p>See <a href="usermanual.html#PRINTDEPTHLIMIT">PRINTDEPTHLIMIT</a> ,
+<a href="usermanual.html#PRINTWIDTHLIMIT">PRINTWIDTHLIMIT</a>
+</p>
+<p>If there is a variable named <code>FULLPRINTP</code> whose value is <code>TRUE</code>, then
+words that were created using backslash or vertical bar (to include
+characters that would otherwise not be treated as part of a word) are
+printed with the backslashes or vertical bars shown, so that the printed
+result could be re-read by Logo to produce the same value.  If
+<code>FULLPRINTP</code> is <code>TRUE</code> then the empty word (however it was created) prints
+as <code>||</code>.  (Otherwise it prints as nothing at all.)
+</p>
+<p>See <a href="usermanual.html#FULLPRINTP">FULLPRINTP</a> .
+</p>
+<hr>
+<a name="PRINT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TYPE" accesskey="n" rel="next">TYPE</a>, Previous: <a href="usermanual.html#TRANSMITTERS" accesskey="p" rel="prev">TRANSMITTERS</a>, Up: <a href="usermanual.html#TRANSMITTERS" accesskey="u" rel="up">TRANSMITTERS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="print"></a>
+<h4 class="unnumberedsubsec">print</h4>
+<a name="index-print"></a>
+<a name="index-pr"></a>
+
+<div class="example">
+<pre class="example">PRINT thing
+PR thing
+(PRINT thing1 thing2 ...)
+(PR thing1 thing2 ...)
+</pre></div>
+
+<p>command.  Prints the input or inputs to the current write stream
+(initially the screen).  All the inputs are printed on a single line,
+separated by spaces, ending with a newline.  If an input is a list,
+square brackets are not printed around it, but brackets are printed
+around sublists.  Braces are always printed around arrays.
+</p>
+<hr>
+<a name="TYPE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SHOW" accesskey="n" rel="next">SHOW</a>, Previous: <a href="usermanual.html#PRINT" accesskey="p" rel="prev">PRINT</a>, Up: <a href="usermanual.html#TRANSMITTERS" accesskey="u" rel="up">TRANSMITTERS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="type"></a>
+<h4 class="unnumberedsubsec">type</h4>
+<a name="index-type"></a>
+
+<div class="example">
+<pre class="example">TYPE thing
+(TYPE thing1 thing2 ...)
+</pre></div>
+
+<p>command.  Prints the input or inputs like <code>PRINT</code>, except that no newline
+character is printed at the end and multiple inputs are not separated by
+spaces.  Note: printing to the screen is ordinarily <em>line buffered</em>;
+that is, the characters you print using <code>TYPE</code> will not actually appear on
+the screen until either a newline character is printed (for example, by
+<code>PRINT</code> or <code>SHOW</code>) or Logo tries to read from the keyboard (either at the
+request of your program or after an instruction prompt).  This buffering
+makes the program much faster than it would be if each character
+appeared immediately, and in most cases the effect is not disconcerting.
+To accommodate programs that do a lot of positioned text display using
+<code>TYPE</code>, Logo will force printing whenever <code>SETCURSOR</code> is invoked.  This
+solves most buffering problems.  Still, on occasion you may find it
+necessary to force the buffered characters to be printed explicitly;
+this can be done using the <code>WAIT</code> command.  <tt>WAIT&nbsp;0</tt><!-- /@w --> will force printing
+without actually waiting.
+</p>
+<p>See <a href="usermanual.html#SETCURSOR">SETCURSOR</a> ,
+<a href="usermanual.html#WAIT">WAIT</a>
+</p>
+<hr>
+<a name="SHOW"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#TYPE" accesskey="p" rel="prev">TYPE</a>, Up: <a href="usermanual.html#TRANSMITTERS" accesskey="u" rel="up">TRANSMITTERS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="show"></a>
+<h4 class="unnumberedsubsec">show</h4>
+<a name="index-show"></a>
+
+<div class="example">
+<pre class="example">SHOW thing
+(SHOW thing1 thing2 ...)
+</pre></div>
+
+<p>command.  Prints the input or inputs like <code>PRINT</code>, except that if an input
+is a list it is printed inside square brackets.
+</p>
+<p>See <a href="usermanual.html#PRINT">PRINT</a> .
+</p>
+
+<hr>
+<a name="RECEIVERS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FILE-ACCESS" accesskey="n" rel="next">FILE ACCESS</a>, Previous: <a href="usermanual.html#TRANSMITTERS" accesskey="p" rel="prev">TRANSMITTERS</a>, Up: <a href="usermanual.html#COMMUNICATION" accesskey="u" rel="up">COMMUNICATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Receivers"></a>
+<h3 class="section">4.2 Receivers</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#READLIST" accesskey="1">READLIST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#READWORD" accesskey="2">READWORD</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#READRAWLINE" accesskey="3">READRAWLINE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#READCHAR" accesskey="4">READCHAR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#READCHARS" accesskey="5">READCHARS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SHELL" accesskey="6">SHELL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="READLIST"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#READWORD" accesskey="n" rel="next">READWORD</a>, Previous: <a href="usermanual.html#RECEIVERS" accesskey="p" rel="prev">RECEIVERS</a>, Up: <a href="usermanual.html#RECEIVERS" accesskey="u" rel="up">RECEIVERS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="readlist"></a>
+<h4 class="unnumberedsubsec">readlist</h4>
+<a name="index-readlist"></a>
+<a name="index-rl"></a>
+
+<div class="example">
+<pre class="example">READLIST
+RL
+</pre></div>
+
+<p>reads a line from the read stream (initially the keyboard) and outputs
+that line as a list.  The line is separated into members as though it
+were typed in square brackets in an instruction.  If the read stream is
+a file, and the end of file is reached, <code>READLIST</code> outputs the empty word
+(not the empty list).  <code>READLIST</code> processes backslash, vertical bar, and
+tilde characters in the read stream; the output list will not contain
+these characters but they will have had their usual effect.  <code>READLIST</code>
+does not, however, treat semicolon as a comment character.
+</p>
+<hr>
+<a name="READWORD"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#READRAWLINE" accesskey="n" rel="next">READRAWLINE</a>, Previous: <a href="usermanual.html#READLIST" accesskey="p" rel="prev">READLIST</a>, Up: <a href="usermanual.html#RECEIVERS" accesskey="u" rel="up">RECEIVERS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="readword"></a>
+<h4 class="unnumberedsubsec">readword</h4>
+<a name="index-readword"></a>
+<a name="index-rw"></a>
+
+<div class="example">
+<pre class="example">READWORD
+RW
+</pre></div>
+
+<p>reads a line from the read stream and outputs that line as a word.  The
+output is a single word even if the line contains spaces, brackets, etc.
+If the read stream is a file, and the end of file is reached, <code>READWORD</code>
+outputs the empty list (not the empty word).  <code>READWORD</code> processes
+backslash, vertical bar, and tilde characters in the read stream.  In
+the case of a tilde used for line continuation, the output word <em>does</em>
+include the tilde and the newline characters, so that the user program
+can tell exactly what the user entered.  Vertical bars in the line are
+also preserved in the output.  Backslash characters are not preserved in
+the output.
+</p>
+
+<hr>
+<a name="READRAWLINE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#READCHAR" accesskey="n" rel="next">READCHAR</a>, Previous: <a href="usermanual.html#READWORD" accesskey="p" rel="prev">READWORD</a>, Up: <a href="usermanual.html#RECEIVERS" accesskey="u" rel="up">RECEIVERS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="readrawline"></a>
+<h4 class="unnumberedsubsec">readrawline</h4>
+<a name="index-readrawline"></a>
+
+<div class="example">
+<pre class="example">READRAWLINE
+</pre></div>
+
+<p>reads a line from the read stream and outputs that line as a word.  The
+output is a single word even if the line contains spaces, brackets, etc.
+If the read stream is a file, and the end of file is reached, <code>READRAWLINE</code>
+outputs the empty list (not the empty word).  <code>READRAWLINE</code> outputs the
+exact string of characters as they appear in the line, with no special
+meaning for backslash, vertical bar, tilde, or any other formatting
+characters.
+</p>
+<p>See <a href="usermanual.html#READWORD">READWORD</a> .
+</p>
+<hr>
+<a name="READCHAR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#READCHARS" accesskey="n" rel="next">READCHARS</a>, Previous: <a href="usermanual.html#READRAWLINE" accesskey="p" rel="prev">READRAWLINE</a>, Up: <a href="usermanual.html#RECEIVERS" accesskey="u" rel="up">RECEIVERS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="readchar"></a>
+<h4 class="unnumberedsubsec">readchar</h4>
+<a name="index-readchar"></a>
+<a name="index-rc"></a>
+
+<div class="example">
+<pre class="example">READCHAR
+RC
+</pre></div>
+
+<p>reads a single character from the read stream and outputs that character
+as a word.  If the read stream is a file, and the end of file is
+reached, <code>READCHAR</code> outputs the empty list (not the empty word).  If the
+read stream is the keyboard, echoing is turned off when <code>READCHAR</code> is
+invoked, and remains off until <code>READLIST</code> or <code>READWORD</code> is invoked or a Logo
+prompt is printed.  Backslash, vertical bar, and tilde characters have
+no special meaning in this context.
+</p>
+<p>See <a href="usermanual.html#READLIST">READLIST</a> .
+</p>
+<hr>
+<a name="READCHARS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SHELL" accesskey="n" rel="next">SHELL</a>, Previous: <a href="usermanual.html#READCHAR" accesskey="p" rel="prev">READCHAR</a>, Up: <a href="usermanual.html#RECEIVERS" accesskey="u" rel="up">RECEIVERS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="readchars"></a>
+<h4 class="unnumberedsubsec">readchars</h4>
+<a name="index-readchars"></a>
+<a name="index-rcs"></a>
+
+<div class="example">
+<pre class="example">READCHARS num
+RCS num
+</pre></div>
+
+<p>reads <var>num</var> characters from the read stream and outputs those characters
+as a word.  If the read stream is a file, and the end of file is
+reached, <code>READCHARS</code> outputs the empty list (not the empty word).  If the
+read stream is the keyboard, echoing is turned off when <code>READCHARS</code> is
+invoked, and remains off until <code>READLIST</code> or <code>READWORD</code> is invoked or a Logo
+prompt is printed.  Backslash, vertical bar, and tilde characters have
+no special meaning in this context.
+</p>
+<p>See <a href="usermanual.html#READLIST">READLIST</a> ,
+<a href="usermanual.html#READWORD">READWORD</a>
+</p>
+<hr>
+<a name="SHELL"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#READCHARS" accesskey="p" rel="prev">READCHARS</a>, Up: <a href="usermanual.html#RECEIVERS" accesskey="u" rel="up">RECEIVERS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="shell"></a>
+<h4 class="unnumberedsubsec">shell</h4>
+<a name="index-shell"></a>
+
+<div class="example">
+<pre class="example">SHELL command
+(SHELL command wordflag)
+</pre></div>
+
+<p>Under Unix, outputs the result of running <var>command</var> as a shell command.
+(The command is sent to &lsquo;<samp>/bin/sh</samp>&rsquo;, not &lsquo;<samp>csh</samp>&rsquo; or other alternatives.)
+If the command is a literal list in the instruction line, and if you want a
+backslash character sent to the shell, you must use <code>\\</code> to get the
+backslash through Logo&rsquo;s reader intact.  The output is a list containing
+one member for each line generated by the shell command.  Ordinarily
+each such line is represented by a list in the output, as though the
+line were read using <code>READLIST</code>.  If a second input is given, regardless
+of the value of the input, each line is represented by a word in the
+output as though it were read with <code>READWORD</code>.  Example:
+</p>
+<div class="example">
+<pre class="example">to dayofweek
+output first first shell [date]
+end
+</pre></div>
+
+<p>This is <code>first first</code> to extract the first word of the first (and only)
+line of the shell output.
+</p>
+<p>Under MacOS X, <code>SHELL</code> works as under Unix.  <code>SHELL</code> is not
+available under Mac Classic.
+</p>
+<p>Under DOS, <code>SHELL</code> is a command, not an operation; it sends its input to a
+DOS command processor but does not collect the result of the command.
+</p>
+<p>Under Windows, the wxWidgets version of Logo behaves as under Unix (except
+that DOS-style commands are understood; use <code>dir</code> rather than <code>ls</code>).
+The non-wxWidgets version behaves like the DOS version.
+</p>
+
+<hr>
+<a name="FILE-ACCESS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="n" rel="next">TERMINAL ACCESS</a>, Previous: <a href="usermanual.html#RECEIVERS" accesskey="p" rel="prev">RECEIVERS</a>, Up: <a href="usermanual.html#COMMUNICATION" accesskey="u" rel="up">COMMUNICATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="File-Access"></a>
+<h3 class="section">4.3 File Access</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETPREFIX" accesskey="1">SETPREFIX</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PREFIX" accesskey="2">PREFIX</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OPENREAD" accesskey="3">OPENREAD</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OPENWRITE" accesskey="4">OPENWRITE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OPENAPPEND" accesskey="5">OPENAPPEND</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OPENUPDATE" accesskey="6">OPENUPDATE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CLOSE" accesskey="7">CLOSE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ALLOPEN" accesskey="8">ALLOPEN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CLOSEALL" accesskey="9">CLOSEALL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERASEFILE">ERASEFILE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#DRIBBLE">DRIBBLE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NODRIBBLE">NODRIBBLE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETREAD">SETREAD</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETWRITE">SETWRITE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#READER">READER</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WRITER">WRITER</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETREADPOS">SETREADPOS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETWRITEPOS">SETWRITEPOS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#READPOS">READPOS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WRITEPOS">WRITEPOS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EOFP">EOFP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FILEP">FILEP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="SETPREFIX"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PREFIX" accesskey="n" rel="next">PREFIX</a>, Previous: <a href="usermanual.html#FILE-ACCESS" accesskey="p" rel="prev">FILE ACCESS</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setprefix"></a>
+<h4 class="unnumberedsubsec">setprefix</h4>
+<a name="index-setprefix"></a>
+
+<div class="example">
+<pre class="example">SETPREFIX string
+</pre></div>
+
+<p>command.  Sets a prefix that will be used as the implicit beginning of
+filenames in <code>OPENREAD</code>, <code>OPENWRITE</code>, <code>OPENAPPEND</code>,
+<code>OPENUPDATE</code>, <code>LOAD</code>, and <code>SAVE</code> commands.  Logo will put the
+appropriate separator character (slash for Unix, backslash for DOS/Windows,
+colon for MacOS Classic) between the prefix and the filename entered by the
+user.  The input to <code>SETPREFIX</code> must be a word, unless it is the empty list, to
+indicate that there should be no prefix.
+</p>
+<p>See <a href="usermanual.html#OPENREAD">OPENREAD</a> , 
+See <a href="usermanual.html#OPENWRITE">OPENWRITE</a> ,
+See <a href="usermanual.html#OPENAPPEND">OPENAPPEND</a> ,
+See <a href="usermanual.html#OPENUPDATE">OPENUPDATE</a> ,
+See <a href="usermanual.html#LOAD">LOAD</a> ,
+See <a href="usermanual.html#SAVE">SAVE</a> .
+</p>
+<hr>
+<a name="PREFIX"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#OPENREAD" accesskey="n" rel="next">OPENREAD</a>, Previous: <a href="usermanual.html#SETPREFIX" accesskey="p" rel="prev">SETPREFIX</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="prefix"></a>
+<h4 class="unnumberedsubsec">prefix</h4>
+<a name="index-prefix"></a>
+
+<div class="example">
+<pre class="example">PREFIX
+</pre></div>
+
+<p>outputs the current file prefix, or [] if there is no prefix.
+</p>
+<p>See <a href="usermanual.html#SETPREFIX">SETPREFIX</a> .
+</p>
+
+<hr>
+<a name="OPENREAD"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#OPENWRITE" accesskey="n" rel="next">OPENWRITE</a>, Previous: <a href="usermanual.html#PREFIX" accesskey="p" rel="prev">PREFIX</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="openread"></a>
+<h4 class="unnumberedsubsec">openread</h4>
+<a name="index-openread"></a>
+
+<div class="example">
+<pre class="example">OPENREAD filename
+</pre></div>
+
+<p>command.  Opens the named file for reading.  The read position is
+initially at the beginning of the file.
+</p>
+<hr>
+<a name="OPENWRITE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#OPENAPPEND" accesskey="n" rel="next">OPENAPPEND</a>, Previous: <a href="usermanual.html#OPENREAD" accesskey="p" rel="prev">OPENREAD</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="openwrite"></a>
+<h4 class="unnumberedsubsec">openwrite</h4>
+<a name="index-openwrite"></a>
+
+<div class="example">
+<pre class="example">OPENWRITE filename
+</pre></div>
+
+<p>command.  Opens the named file for writing.  If the file already
+existed, the old version is deleted and a new, empty file created.
+</p>
+<p><code>OPENWRITE</code>, but not the other <code>OPEN</code> variants, will accept as input
+a two-element list, in which the first element must be a variable
+name, and the second must be a positive integer.  A character
+buffer of the specified size will be created.  When a <code>SETWRITE</code> is
+done with this same list (in the sense of .EQ, not a copy, so
+you must do something like
+</p>
+<div class="example">
+<pre class="example">? make &quot;buf [foo 100]
+? openwrite :buf
+? setwrite :buf
+    [...]
+? close :buf
+</pre></div>
+
+<p>and not just
+</p>
+<div class="example">
+<pre class="example">? openwrite [foo 100]
+? setwrite [foo 100]
+</pre></div>
+
+<p>and so on), the printed characters are stored in the buffer;
+when a <code>CLOSE</code> is done with the same list as input, the characters
+from the buffer (treated as one long word, even if spaces and
+newlines are included) become the value of the specified variable.
+</p>
+<hr>
+<a name="OPENAPPEND"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#OPENUPDATE" accesskey="n" rel="next">OPENUPDATE</a>, Previous: <a href="usermanual.html#OPENWRITE" accesskey="p" rel="prev">OPENWRITE</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="openappend"></a>
+<h4 class="unnumberedsubsec">openappend</h4>
+<a name="index-openappend"></a>
+
+<div class="example">
+<pre class="example">OPENAPPEND filename
+</pre></div>
+
+<p>command.  Opens the named file for writing.  If the file already exists,
+the write position is initially set to the end of the old file, so that
+newly written data will be appended to it.
+</p>
+<hr>
+<a name="OPENUPDATE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CLOSE" accesskey="n" rel="next">CLOSE</a>, Previous: <a href="usermanual.html#OPENAPPEND" accesskey="p" rel="prev">OPENAPPEND</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="openupdate"></a>
+<h4 class="unnumberedsubsec">openupdate</h4>
+<a name="index-openupdate"></a>
+
+<div class="example">
+<pre class="example">OPENUPDATE filename
+</pre></div>
+
+<p>command.  Opens the named file for reading and writing.  The read and
+write position is initially set to the end of the old file, if any.
+Note: each open file has only one position, for both reading and
+writing.  If a file opened for update is both <code>READER</code> and <code>WRITER</code> at the
+same time, then <code>SETREADPOS</code> will also affect <code>WRITEPOS</code> and vice versa.
+Also, if you alternate reading and writing the same file, you must
+<code>SETREADPOS</code> between a write and a read, and <code>SETWRITEPOS</code> between a read
+and a write.
+</p>
+<p>See <a href="usermanual.html#READER">READER</a> ,
+<a href="usermanual.html#WRITER">WRITER</a> ,
+<a href="usermanual.html#SETREADPOS">SETREADPOS</a> ,
+<a href="usermanual.html#SETWRITEPOS">SETWRITEPOS</a>
+</p>
+<hr>
+<a name="CLOSE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ALLOPEN" accesskey="n" rel="next">ALLOPEN</a>, Previous: <a href="usermanual.html#OPENUPDATE" accesskey="p" rel="prev">OPENUPDATE</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="close"></a>
+<h4 class="unnumberedsubsec">close</h4>
+<a name="index-close"></a>
+
+<div class="example">
+<pre class="example">CLOSE filename
+</pre></div>
+
+<p>command.  Closes the named file.  If the file was currently the
+reader or writer, then the reader or writer is changed to the
+keyboard or screen, as if <tt>SETREAD&nbsp;[]</tt><!-- /@w --> or <tt>SETWRITE&nbsp;[]</tt><!-- /@w --> had been done.
+</p>
+
+<hr>
+<a name="ALLOPEN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CLOSEALL" accesskey="n" rel="next">CLOSEALL</a>, Previous: <a href="usermanual.html#CLOSE" accesskey="p" rel="prev">CLOSE</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="allopen"></a>
+<h4 class="unnumberedsubsec">allopen</h4>
+<a name="index-allopen"></a>
+
+<div class="example">
+<pre class="example">ALLOPEN
+</pre></div>
+
+<p>outputs a list whose members are the names of all files currently open.
+This list does not include the dribble file, if any.
+</p>
+<hr>
+<a name="CLOSEALL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ERASEFILE" accesskey="n" rel="next">ERASEFILE</a>, Previous: <a href="usermanual.html#ALLOPEN" accesskey="p" rel="prev">ALLOPEN</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="closeall"></a>
+<h4 class="unnumberedsubsec">closeall</h4>
+<a name="index-closeall"></a>
+
+<div class="example">
+<pre class="example">CLOSEALL					(library procedure)
+</pre></div>
+
+<p>command. Closes all open files. Abbreviates <tt>FOREACH&nbsp;ALLOPEN&nbsp;[CLOSE&nbsp;?]</tt><!-- /@w -->
+</p>
+<p>See <a href="usermanual.html#FOREACH">FOREACH</a> ,
+<a href="usermanual.html#CLOSE">CLOSE</a>
+</p>
+<hr>
+<a name="ERASEFILE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#DRIBBLE" accesskey="n" rel="next">DRIBBLE</a>, Previous: <a href="usermanual.html#CLOSEALL" accesskey="p" rel="prev">CLOSEALL</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="erasefile"></a>
+<h4 class="unnumberedsubsec">erasefile</h4>
+<a name="index-erasefile"></a>
+<a name="index-erf"></a>
+
+<div class="example">
+<pre class="example">ERASEFILE filename
+ERF filename
+</pre></div>
+
+<p>command.  Erases (deletes, removes) the named file, which should not
+currently be open.
+</p>
+<hr>
+<a name="DRIBBLE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#NODRIBBLE" accesskey="n" rel="next">NODRIBBLE</a>, Previous: <a href="usermanual.html#ERASEFILE" accesskey="p" rel="prev">ERASEFILE</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="dribble"></a>
+<h4 class="unnumberedsubsec">dribble</h4>
+<a name="index-dribble"></a>
+
+<div class="example">
+<pre class="example">DRIBBLE filename
+</pre></div>
+
+<p>command.  Creates a new file whose name is the input, like <code>OPENWRITE</code>,
+and begins recording in that file everything that is read from the
+keyboard or written to the terminal.  That is, this writing is in
+addition to the writing to <code>WRITER</code>.  The intent is to create a transcript
+of a Logo session, including things like prompt characters and
+interactions.
+</p>
+<p>See <a href="usermanual.html#OPENWRITE">OPENWRITE</a> ,
+<a href="usermanual.html#WRITER">WRITER</a>
+</p>
+<hr>
+<a name="NODRIBBLE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETREAD" accesskey="n" rel="next">SETREAD</a>, Previous: <a href="usermanual.html#DRIBBLE" accesskey="p" rel="prev">DRIBBLE</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="nodribble"></a>
+<h4 class="unnumberedsubsec">nodribble</h4>
+<a name="index-nodribble"></a>
+
+<div class="example">
+<pre class="example">NODRIBBLE
+</pre></div>
+
+<p>command.  Stops copying information into the dribble file, and closes
+the file.
+</p>
+<hr>
+<a name="SETREAD"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETWRITE" accesskey="n" rel="next">SETWRITE</a>, Previous: <a href="usermanual.html#NODRIBBLE" accesskey="p" rel="prev">NODRIBBLE</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setread"></a>
+<h4 class="unnumberedsubsec">setread</h4>
+<a name="index-setread"></a>
+
+<div class="example">
+<pre class="example">SETREAD filename
+</pre></div>
+
+<p>command.  Makes the named file the read stream, used for <code>READLIST</code>, etc.
+The file must already be open with <code>OPENREAD</code> or <code>OPENUPDATE</code>.  If the input
+is the empty list, then the read stream becomes the keyboard, as usual.
+Changing the read stream does not close the file that was previously the
+read stream, so it is possible to alternate between files.
+</p>
+<p>See <a href="usermanual.html#READLIST">READLIST</a> ,
+<a href="usermanual.html#OPENREAD">OPENREAD</a> ,
+<a href="usermanual.html#OPENUPDATE">OPENUPDATE</a>
+</p>
+<hr>
+<a name="SETWRITE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#READER" accesskey="n" rel="next">READER</a>, Previous: <a href="usermanual.html#SETREAD" accesskey="p" rel="prev">SETREAD</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setwrite"></a>
+<h4 class="unnumberedsubsec">setwrite</h4>
+<a name="index-setwrite"></a>
+
+<div class="example">
+<pre class="example">SETWRITE filename
+</pre></div>
+
+<p>command.  Makes the named file the write stream, used for <code>PRINT</code>,
+etc.  The file must already be open with <code>OPENWRITE</code>, <code>OPENAPPEND</code>, or
+<code>OPENUPDATE</code>.  If the input is the empty list, then the write stream
+becomes the screen, as usual.  Changing the write stream does
+not close the file that was previously the write stream, so it is
+possible to alternate between files.
+</p>
+<p>If the input is a list, then its first element must be a variable
+name, and its second and last element must be a positive integer; a
+buffer of that many characters will be allocated, and will become the
+writestream.  If the same list (same in the <code>.EQ</code> sense, not a copy)
+has been used as input to <code>OPENWRITE</code>, then the already-allocated
+buffer will be used, and the writer can be changed to and from this
+buffer, with all the characters accumulated as in a file.  When the
+same list is used as input to <code>CLOSE</code>, the contents of the buffer
+(as an unparsed word, which may contain newline characters) will
+become the value of the named variable.  For compatibility with
+earlier versions, if the list has not been opened when the <code>SETWRITE</code>
+is done, it will be opened implicitly, but the first <code>SETWRITE</code> after
+this one will implicitly close it, setting the variable and freeing
+the allocated buffer.
+</p>
+<p>See <a href="usermanual.html#PRINT">PRINT</a> ,
+<a href="usermanual.html#OPENWRITE">OPENWRITE</a> ;
+<a href="usermanual.html#OPENAPPEND">OPENAPPEND</a> ;
+<a href="usermanual.html#OPENUPDATE">OPENUPDATE</a>
+</p>
+<hr>
+<a name="READER"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#WRITER" accesskey="n" rel="next">WRITER</a>, Previous: <a href="usermanual.html#SETWRITE" accesskey="p" rel="prev">SETWRITE</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="reader"></a>
+<h4 class="unnumberedsubsec">reader</h4>
+<a name="index-reader"></a>
+
+<div class="example">
+<pre class="example">READER
+</pre></div>
+
+<p>outputs the name of the current read stream file, or the empty list if
+the read stream is the terminal.
+</p>
+<hr>
+<a name="WRITER"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETREADPOS" accesskey="n" rel="next">SETREADPOS</a>, Previous: <a href="usermanual.html#READER" accesskey="p" rel="prev">READER</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="writer"></a>
+<h4 class="unnumberedsubsec">writer</h4>
+<a name="index-writer"></a>
+
+<div class="example">
+<pre class="example">WRITER
+</pre></div>
+
+<p>outputs the name of the current write stream file, or the empty list if
+the write stream is the screen.
+</p>
+<hr>
+<a name="SETREADPOS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETWRITEPOS" accesskey="n" rel="next">SETWRITEPOS</a>, Previous: <a href="usermanual.html#WRITER" accesskey="p" rel="prev">WRITER</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setreadpos"></a>
+<h4 class="unnumberedsubsec">setreadpos</h4>
+<a name="index-setreadpos"></a>
+
+<div class="example">
+<pre class="example">SETREADPOS charpos
+</pre></div>
+
+<p>command.  Sets the file pointer of the read stream file so that the next
+<code>READLIST</code>, etc., will begin reading at the <var>charpos</var>th character in the
+file, counting from 0.  (That is, <tt>SETREADPOS&nbsp;0</tt><!-- /@w --> will start reading from
+the beginning of the file.)  Meaningless if the read stream is the
+keyboard.
+</p>
+<p>See <a href="usermanual.html#READLIST">READLIST</a> .
+</p>
+<hr>
+<a name="SETWRITEPOS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#READPOS" accesskey="n" rel="next">READPOS</a>, Previous: <a href="usermanual.html#SETREADPOS" accesskey="p" rel="prev">SETREADPOS</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setwritepos"></a>
+<h4 class="unnumberedsubsec">setwritepos</h4>
+<a name="index-setwritepos"></a>
+
+<div class="example">
+<pre class="example">SETWRITEPOS charpos
+</pre></div>
+
+<p>command.  Sets the file pointer of the write stream file so that the
+next <code>PRINT</code>, etc., will begin writing at the <var>charpos</var>th character in the
+file, counting from 0.  (That is, <tt>SETWRITEPOS&nbsp;0</tt><!-- /@w --> will start writing from
+the beginning of the file.)  Meaningless if the write stream is the
+screen.
+</p>
+<p>See <a href="usermanual.html#PRINT">PRINT</a> .
+</p>
+<hr>
+<a name="READPOS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#WRITEPOS" accesskey="n" rel="next">WRITEPOS</a>, Previous: <a href="usermanual.html#SETWRITEPOS" accesskey="p" rel="prev">SETWRITEPOS</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="readpos"></a>
+<h4 class="unnumberedsubsec">readpos</h4>
+<a name="index-readpos"></a>
+
+<div class="example">
+<pre class="example">READPOS
+</pre></div>
+
+<p>outputs the file position of the current read stream file.
+</p>
+<hr>
+<a name="WRITEPOS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EOFP" accesskey="n" rel="next">EOFP</a>, Previous: <a href="usermanual.html#READPOS" accesskey="p" rel="prev">READPOS</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="writepos"></a>
+<h4 class="unnumberedsubsec">writepos</h4>
+<a name="index-writepos"></a>
+
+<div class="example">
+<pre class="example">WRITEPOS
+</pre></div>
+
+<p>outputs the file position of the current write stream file.
+</p>
+<hr>
+<a name="EOFP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FILEP" accesskey="n" rel="next">FILEP</a>, Previous: <a href="usermanual.html#WRITEPOS" accesskey="p" rel="prev">WRITEPOS</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="eofp"></a>
+<h4 class="unnumberedsubsec">eofp</h4>
+<a name="index-eofp"></a>
+<a name="index-eof_003f"></a>
+
+<div class="example">
+<pre class="example">EOFP
+EOF?
+</pre></div>
+
+<p>predicate, outputs <code>TRUE</code> if there are no more characters to be read in
+the read stream file, <code>FALSE</code> otherwise.
+</p>
+<hr>
+<a name="FILEP"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#EOFP" accesskey="p" rel="prev">EOFP</a>, Up: <a href="usermanual.html#FILE-ACCESS" accesskey="u" rel="up">FILE ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="filep"></a>
+<h4 class="unnumberedsubsec">filep</h4>
+<a name="index-filep"></a>
+<a name="index-file_003f"></a>
+
+<div class="example">
+<pre class="example">FILEP filename
+FILE? filename					(library procedure)
+</pre></div>
+
+<p>predicate, outputs <code>TRUE</code> if a file of the specified name exists and can
+be read, <code>FALSE</code> otherwise.
+</p>
+
+<hr>
+<a name="TERMINAL-ACCESS"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#FILE-ACCESS" accesskey="p" rel="prev">FILE ACCESS</a>, Up: <a href="usermanual.html#COMMUNICATION" accesskey="u" rel="up">COMMUNICATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Terminal-Access"></a>
+<h3 class="section">4.4 Terminal Access</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#KEYP" accesskey="1">KEYP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LINEP" accesskey="2">LINEP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CLEARTEXT" accesskey="3">CLEARTEXT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETCURSOR" accesskey="4">SETCURSOR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CURSOR" accesskey="5">CURSOR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETMARGINS" accesskey="6">SETMARGINS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETTEXTCOLOR" accesskey="7">SETTEXTCOLOR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#INCREASEFONT" accesskey="8">INCREASEFONT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETTEXTSIZE" accesskey="9">SETTEXTSIZE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TEXTSIZE">TEXTSIZE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETFONT">SETFONT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FONT">FONT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="KEYP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LINEP" accesskey="n" rel="next">LINEP</a>, Previous: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="p" rel="prev">TERMINAL ACCESS</a>, Up: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="u" rel="up">TERMINAL ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="keyp"></a>
+<h4 class="unnumberedsubsec">keyp</h4>
+<a name="index-keyp"></a>
+<a name="index-key_003f"></a>
+
+<div class="example">
+<pre class="example">KEYP
+KEY?
+</pre></div>
+
+<p>predicate, outputs <code>TRUE</code> if there are characters waiting to be read from
+the read stream.  If the read stream is a file, this is equivalent to
+<tt>NOT&nbsp;EOFP</tt><!-- /@w -->.  If the read stream is the terminal, then echoing is turned
+off and the terminal is set to <code>cbreak</code> (character at a time instead of
+line at a time) mode.  It remains in this mode until some line-mode
+reading is requested (e.g., <code>READLIST</code>).  The Unix operating system
+forgets about any pending characters when it switches modes, so the
+first <code>KEYP</code> invocation will always output <code>FALSE</code>.
+</p>
+<p>See <a href="usermanual.html#EOFP">EOFP</a> ,
+<a href="usermanual.html#READLIST">READLIST</a>
+</p>
+<hr>
+<a name="LINEP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CLEARTEXT" accesskey="n" rel="next">CLEARTEXT</a>, Previous: <a href="usermanual.html#KEYP" accesskey="p" rel="prev">KEYP</a>, Up: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="u" rel="up">TERMINAL ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="linep"></a>
+<h4 class="unnumberedsubsec">linep</h4>
+<a name="index-linep"></a>
+<a name="index-line_003f"></a>
+
+<div class="example">
+<pre class="example">LINEP
+LINE?
+</pre></div>
+
+<p>predicate, outputs <code>TRUE</code> if there is a line waiting to be read from
+the read stream.  If the read stream is a file, this is equivalent to
+<tt>NOT&nbsp;EOFP</tt><!-- /@w -->.  If the read stream is the terminal, then typed characters
+will be displayed and may be edited until <tt class="key">RET</tt> is pressed.
+</p>
+<p>See <a href="usermanual.html#EOFP">EOFP</a> .
+</p>
+<hr>
+<a name="CLEARTEXT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETCURSOR" accesskey="n" rel="next">SETCURSOR</a>, Previous: <a href="usermanual.html#LINEP" accesskey="p" rel="prev">LINEP</a>, Up: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="u" rel="up">TERMINAL ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="cleartext"></a>
+<h4 class="unnumberedsubsec">cleartext</h4>
+<a name="index-cleartext"></a>
+<a name="index-ct"></a>
+
+<div class="example">
+<pre class="example">CLEARTEXT
+CT
+</pre></div>
+
+<p>command.  Clears the text window.
+</p>
+<hr>
+<a name="SETCURSOR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CURSOR" accesskey="n" rel="next">CURSOR</a>, Previous: <a href="usermanual.html#CLEARTEXT" accesskey="p" rel="prev">CLEARTEXT</a>, Up: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="u" rel="up">TERMINAL ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setcursor"></a>
+<h4 class="unnumberedsubsec">setcursor</h4>
+<a name="index-setcursor"></a>
+
+<div class="example">
+<pre class="example">SETCURSOR vector
+</pre></div>
+
+<p>command.  The input is a list of two numbers, the x and y coordinates of
+a text window position (origin in the upper left corner, positive direction
+is southeast).  The text cursor is moved to the requested position.
+This command also forces the immediate printing of any buffered
+characters.
+</p>
+<hr>
+<a name="CURSOR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETMARGINS" accesskey="n" rel="next">SETMARGINS</a>, Previous: <a href="usermanual.html#SETCURSOR" accesskey="p" rel="prev">SETCURSOR</a>, Up: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="u" rel="up">TERMINAL ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="cursor"></a>
+<h4 class="unnumberedsubsec">cursor</h4>
+<a name="index-cursor"></a>
+
+<div class="example">
+<pre class="example">CURSOR
+</pre></div>
+
+<p>outputs a list containing the current x and y coordinates of the text
+cursor.  Logo may get confused about the current cursor position if,
+e.g., you type in a long line that wraps around or your program prints
+escape codes that affect the screen strangely.
+</p>
+<hr>
+<a name="SETMARGINS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETTEXTCOLOR" accesskey="n" rel="next">SETTEXTCOLOR</a>, Previous: <a href="usermanual.html#CURSOR" accesskey="p" rel="prev">CURSOR</a>, Up: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="u" rel="up">TERMINAL ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setmargins"></a>
+<h4 class="unnumberedsubsec">setmargins</h4>
+<a name="index-setmargins"></a>
+
+<div class="example">
+<pre class="example">SETMARGINS vector
+</pre></div>
+
+<p>command.  The input must be a list of two numbers, as for <code>SETCURSOR</code>.
+The effect is to clear the screen and then arrange for all further
+printing to be shifted down and to the right according to the indicated
+margins.  Specifically, every time a newline character is printed
+(explicitly or implicitly) Logo will type <var>x_margin</var> spaces, and on every
+invocation of <code>SETCURSOR</code> the margins will be added to the input x and y
+coordinates.  (<code>CURSOR</code> will report the cursor position relative to the
+margins, so that this shift will be invisible to Logo programs.)  The
+purpose of this command is to accommodate the display of terminal
+screens in lecture halls with inadequate TV monitors that miss the top
+and left edges of the screen.
+</p>
+<p>See <a href="usermanual.html#SETCURSOR">SETCURSOR</a> .
+</p>
+
+<hr>
+<a name="SETTEXTCOLOR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#INCREASEFONT" accesskey="n" rel="next">INCREASEFONT</a>, Previous: <a href="usermanual.html#SETMARGINS" accesskey="p" rel="prev">SETMARGINS</a>, Up: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="u" rel="up">TERMINAL ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="settextcolor"></a>
+<h4 class="unnumberedsubsec">settextcolor</h4>
+<a name="index-settextcolor"></a>
+<a name="index-settc"></a>
+
+<div class="example">
+<pre class="example">SETTEXTCOLOR foreground background
+SETTC foreground background
+</pre></div>
+
+<p>command (wxWidgets only).  The inputs are color numbers, or RGB color lists,
+as for turtle graphics.  The foreground and background colors for the
+textscreen/splitscreen text window are changed to the given values.  The
+change affects text already printed as well as future text printing; there is
+only one text color for the entire window.
+</p>
+<p>Command (non-wxWidgets Windows and DOS extended only).  The inputs are color
+numbers, as for turtle graphics.  Future printing to the text window will use
+the specified colors for foreground (the characters printed) and background
+(the space under those characters).  Using <code>STANDOUT</code> will revert to the default
+text window colors.  In the DOS extended (<samp>ucblogo.exe</samp>) version, colors in
+textscreen mode are limited to numbers 0-7, and the coloring applies only to
+text printed by the program, not to the echoing of text typed by the user.
+Neither limitation applies to the text portion of splitscreen mode, which is
+actually drawn as graphics internally.
+</p>
+<p>See <a href="usermanual.html#STANDOUT">STANDOUT</a> .
+</p>
+<hr>
+<a name="INCREASEFONT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETTEXTSIZE" accesskey="n" rel="next">SETTEXTSIZE</a>, Previous: <a href="usermanual.html#SETTEXTCOLOR" accesskey="p" rel="prev">SETTEXTCOLOR</a>, Up: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="u" rel="up">TERMINAL ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="increasefont"></a>
+<h4 class="unnumberedsubsec">increasefont</h4>
+<a name="index-increasefont"></a>
+<a name="index-decreasefont"></a>
+
+<div class="example">
+<pre class="example">INCREASEFONT
+DECREASEFONT
+</pre></div>
+
+<p>command (wxWidgets only).  Increase or decrease the size of the font
+used in the text and edit windows to the next larger or smaller
+available size.
+</p>
+<hr>
+<a name="SETTEXTSIZE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TEXTSIZE" accesskey="n" rel="next">TEXTSIZE</a>, Previous: <a href="usermanual.html#INCREASEFONT" accesskey="p" rel="prev">INCREASEFONT</a>, Up: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="u" rel="up">TERMINAL ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="settextsize"></a>
+<h4 class="unnumberedsubsec">settextsize</h4>
+<a name="index-settextsize"></a>
+
+<div class="example">
+<pre class="example">SETTEXTSIZE height
+</pre></div>
+
+<p>command (wxWidgets only).  Set the &quot;point size&quot; of the font used in
+the text and edit windows to the given integer input.  The desired
+size may not be available, in which case the nearest available size
+will be used.  Note: There is only a slight correlation between these
+integers and pixel sizes.  Our rough estimate is that the number of
+pixels of height is about 1.5 times the point size, but it varies for
+different fonts.  See <code>SETLABELHEIGHT</code> for a different approach used for
+the graphics window.
+</p>
+<hr>
+<a name="TEXTSIZE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETFONT" accesskey="n" rel="next">SETFONT</a>, Previous: <a href="usermanual.html#SETTEXTSIZE" accesskey="p" rel="prev">SETTEXTSIZE</a>, Up: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="u" rel="up">TERMINAL ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="textsize"></a>
+<h4 class="unnumberedsubsec">textsize</h4>
+<a name="index-textsize"></a>
+
+<div class="example">
+<pre class="example">TEXTSIZE
+</pre></div>
+
+<p>(wxWidgets only) outputs the &quot;point size&quot; of the font used in the text
+and edit windows.  See <code>SETTEXTSIZE</code> for a discussion of font sizing.
+See <code>LABELSIZE</code> for a different approach used for the graphics window.
+</p>
+<hr>
+<a name="SETFONT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FONT" accesskey="n" rel="next">FONT</a>, Previous: <a href="usermanual.html#TEXTSIZE" accesskey="p" rel="prev">TEXTSIZE</a>, Up: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="u" rel="up">TERMINAL ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setfont"></a>
+<h4 class="unnumberedsubsec">setfont</h4>
+<a name="index-setfont"></a>
+
+<div class="example">
+<pre class="example">SETFONT fontname
+</pre></div>
+
+<p>command (wxWidgets only).  Set the font family used in all windows
+to the one named by the input.  Try <samp>Courier</samp> or <samp>Monospace</samp> as likely
+possibilities.  Not all computers have the same fonts installed.  It&rsquo;s
+a good idea to stick with monospace fonts (ones in which all
+characters have the same width).
+</p>
+<hr>
+<a name="FONT"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#SETFONT" accesskey="p" rel="prev">SETFONT</a>, Up: <a href="usermanual.html#TERMINAL-ACCESS" accesskey="u" rel="up">TERMINAL ACCESS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="font"></a>
+<h4 class="unnumberedsubsec">font</h4>
+<a name="index-font"></a>
+
+<div class="example">
+<pre class="example">FONT
+</pre></div>
+
+<p>(wxWidgets only) outputs the name of the font family used in all
+windows.
+</p>
+
+
+<hr>
+<a name="ARITHMETIC"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LOGICAL-OPERATIONS" accesskey="n" rel="next">LOGICAL OPERATIONS</a>, Previous: <a href="usermanual.html#COMMUNICATION" accesskey="p" rel="prev">COMMUNICATION</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Arithmetic"></a>
+<h2 class="chapter">5 Arithmetic</h2>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="1">NUMERIC OPERATIONS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NUMERIC-PREDICATES" accesskey="2">NUMERIC PREDICATES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RANDOM-NUMBERS" accesskey="3">RANDOM NUMBERS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PRINT-FORMATTING" accesskey="4">PRINT FORMATTING</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BITWISE-OPERATIONS" accesskey="5">BITWISE OPERATIONS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+
+<hr>
+<a name="NUMERIC-OPERATIONS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#NUMERIC-PREDICATES" accesskey="n" rel="next">NUMERIC PREDICATES</a>, Previous: <a href="usermanual.html#ARITHMETIC" accesskey="p" rel="prev">ARITHMETIC</a>, Up: <a href="usermanual.html#ARITHMETIC" accesskey="u" rel="up">ARITHMETIC</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Numeric-Operations"></a>
+<h3 class="section">5.1 Numeric Operations</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SUM" accesskey="1">SUM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#DIFFERENCE" accesskey="2">DIFFERENCE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MINUS" accesskey="3">MINUS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PRODUCT" accesskey="4">PRODUCT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#QUOTIENT" accesskey="5">QUOTIENT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#REMAINDER" accesskey="6">REMAINDER</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MODULO" accesskey="7">MODULO</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#INT" accesskey="8">INT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ROUND" accesskey="9">ROUND</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SQRT">SQRT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#POWER">POWER</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EXP">EXP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOG10">LOG10</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LN">LN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SIN">SIN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RADSIN">RADSIN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#COS">COS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RADCOS">RADCOS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ARCTAN">ARCTAN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RADARCTAN">RADARCTAN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ISEQ">ISEQ</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RSEQ">RSEQ</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="SUM"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#DIFFERENCE" accesskey="n" rel="next">DIFFERENCE</a>, Previous: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="p" rel="prev">NUMERIC OPERATIONS</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="sum"></a>
+<h4 class="unnumberedsubsec">sum</h4>
+<a name="index-sum"></a>
+<a name="index-_002b"></a>
+
+<div class="example">
+<pre class="example">SUM num1 num2
+(SUM num1 num2 num3 ...)
+num1 + num2
+</pre></div>
+
+<p>outputs the sum of its inputs.
+</p>
+<hr>
+<a name="DIFFERENCE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MINUS" accesskey="n" rel="next">MINUS</a>, Previous: <a href="usermanual.html#SUM" accesskey="p" rel="prev">SUM</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="difference"></a>
+<h4 class="unnumberedsubsec">difference</h4>
+<a name="index-difference"></a>
+<a name="index-_002d"></a>
+
+<div class="example">
+<pre class="example">DIFFERENCE num1 num2
+num1 - num2
+</pre></div>
+
+<p>outputs the difference of its inputs.  Minus sign means infix difference
+in ambiguous contexts (when preceded by a complete expression), unless
+it is preceded by a space and followed by a nonspace.  (See also <code>MINUS</code>.)
+</p>
+<hr>
+<a name="MINUS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PRODUCT" accesskey="n" rel="next">PRODUCT</a>, Previous: <a href="usermanual.html#DIFFERENCE" accesskey="p" rel="prev">DIFFERENCE</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="minus"></a>
+<h4 class="unnumberedsubsec">minus</h4>
+<a name="index-minus"></a>
+
+<div class="example">
+<pre class="example">MINUS num
+- num
+</pre></div>
+
+<p>outputs the negative of its input.  Minus sign means unary minus if
+the previous token is an infix operator or open parenthesis, or it is
+preceded by a space and followed by a nonspace.  There is a difference
+in binding strength between the two forms:
+</p>
+<div class="example">
+<pre class="example">MINUS 3 + 4     means   -(3+4)
+- 3 + 4         means   (-3)+4
+</pre></div>
+
+<hr>
+<a name="PRODUCT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#QUOTIENT" accesskey="n" rel="next">QUOTIENT</a>, Previous: <a href="usermanual.html#MINUS" accesskey="p" rel="prev">MINUS</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="product"></a>
+<h4 class="unnumberedsubsec">product</h4>
+<a name="index-product"></a>
+<a name="index-_002a"></a>
+
+<div class="example">
+<pre class="example">PRODUCT num1 num2
+(PRODUCT num1 num2 num3 ...)
+num1 * num2
+</pre></div>
+
+<p>outputs the product of its inputs.
+</p>
+<hr>
+<a name="QUOTIENT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#REMAINDER" accesskey="n" rel="next">REMAINDER</a>, Previous: <a href="usermanual.html#PRODUCT" accesskey="p" rel="prev">PRODUCT</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="quotient"></a>
+<h4 class="unnumberedsubsec">quotient</h4>
+<a name="index-quotient"></a>
+<a name="index-_002f"></a>
+
+<div class="example">
+<pre class="example">QUOTIENT num1 num2
+(QUOTIENT num)
+num1 / num2
+</pre></div>
+
+<p>outputs the quotient of its inputs.  The quotient of two integers is an
+integer if and only if the dividend is a multiple of the divisor.  (In
+other words, <tt>QUOTIENT&nbsp;5&nbsp;2</tt><!-- /@w --> is 2.5, not 2, but <tt>QUOTIENT&nbsp;4&nbsp;2</tt><!-- /@w -->
+is 2, not 2.0 &mdash; it does the right thing.)  With a single input,
+<code>QUOTIENT</code> outputs the reciprocal of the input.
+</p>
+<hr>
+<a name="REMAINDER"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MODULO" accesskey="n" rel="next">MODULO</a>, Previous: <a href="usermanual.html#QUOTIENT" accesskey="p" rel="prev">QUOTIENT</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="remainder"></a>
+<h4 class="unnumberedsubsec">remainder</h4>
+<a name="index-remainder"></a>
+
+<div class="example">
+<pre class="example">REMAINDER num1 num2
+</pre></div>
+
+<p>outputs the remainder on dividing <var>num1</var> by <var>num2</var>; both must be
+integers and the result is an integer with the same sign as <var>num1</var>.
+</p>
+<hr>
+<a name="MODULO"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#INT" accesskey="n" rel="next">INT</a>, Previous: <a href="usermanual.html#REMAINDER" accesskey="p" rel="prev">REMAINDER</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="modulo"></a>
+<h4 class="unnumberedsubsec">modulo</h4>
+<a name="index-modulo"></a>
+
+<div class="example">
+<pre class="example">MODULO num1 num2
+</pre></div>
+
+<p>outputs the remainder on dividing <var>num1</var> by <var>num2</var>; both must be
+integers and the result is an integer with the same sign as <var>num2</var>.
+</p>
+<hr>
+<a name="INT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ROUND" accesskey="n" rel="next">ROUND</a>, Previous: <a href="usermanual.html#MODULO" accesskey="p" rel="prev">MODULO</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="int"></a>
+<h4 class="unnumberedsubsec">int</h4>
+<a name="index-int"></a>
+
+<div class="example">
+<pre class="example">INT num
+</pre></div>
+
+<p>outputs its input with fractional part removed, i.e., an integer
+with the same sign as the input, whose absolute value is the
+largest integer less than or equal to the absolute value of
+the input.
+</p>
+<hr>
+<a name="ROUND"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SQRT" accesskey="n" rel="next">SQRT</a>, Previous: <a href="usermanual.html#INT" accesskey="p" rel="prev">INT</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="round"></a>
+<h4 class="unnumberedsubsec">round</h4>
+<a name="index-round"></a>
+
+<div class="example">
+<pre class="example">ROUND num
+</pre></div>
+
+<p>outputs the nearest integer to the input.
+</p>
+<hr>
+<a name="SQRT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#POWER" accesskey="n" rel="next">POWER</a>, Previous: <a href="usermanual.html#ROUND" accesskey="p" rel="prev">ROUND</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="sqrt"></a>
+<h4 class="unnumberedsubsec">sqrt</h4>
+<a name="index-sqrt"></a>
+
+<div class="example">
+<pre class="example">SQRT num
+</pre></div>
+
+<p>outputs the square root of the input, which must be nonnegative.
+</p>
+<hr>
+<a name="POWER"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EXP" accesskey="n" rel="next">EXP</a>, Previous: <a href="usermanual.html#SQRT" accesskey="p" rel="prev">SQRT</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="power"></a>
+<h4 class="unnumberedsubsec">power</h4>
+<a name="index-power"></a>
+
+<div class="example">
+<pre class="example">POWER num1 num2
+</pre></div>
+
+<p>outputs <var>num1</var> to the <var>num2</var> power.  If <var>num1</var> is negative, then
+<var>num2</var> must be an integer.
+</p>
+<hr>
+<a name="EXP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LOG10" accesskey="n" rel="next">LOG10</a>, Previous: <a href="usermanual.html#POWER" accesskey="p" rel="prev">POWER</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="exp"></a>
+<h4 class="unnumberedsubsec">exp</h4>
+<a name="index-exp"></a>
+
+<div class="example">
+<pre class="example">EXP num
+</pre></div>
+
+<p>outputs <i>e</i> (2.718281828+) to the input power.
+</p>
+<hr>
+<a name="LOG10"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LN" accesskey="n" rel="next">LN</a>, Previous: <a href="usermanual.html#EXP" accesskey="p" rel="prev">EXP</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="log10"></a>
+<h4 class="unnumberedsubsec">log10</h4>
+<a name="index-log10"></a>
+
+<div class="example">
+<pre class="example">LOG10 num
+</pre></div>
+
+<p>outputs the common logarithm of the input.
+</p>
+<hr>
+<a name="LN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SIN" accesskey="n" rel="next">SIN</a>, Previous: <a href="usermanual.html#LOG10" accesskey="p" rel="prev">LOG10</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ln"></a>
+<h4 class="unnumberedsubsec">ln</h4>
+<a name="index-ln"></a>
+
+<div class="example">
+<pre class="example">LN num
+</pre></div>
+
+<p>outputs the natural logarithm of the input.
+</p>
+<hr>
+<a name="SIN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#RADSIN" accesskey="n" rel="next">RADSIN</a>, Previous: <a href="usermanual.html#LN" accesskey="p" rel="prev">LN</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="sin"></a>
+<h4 class="unnumberedsubsec">sin</h4>
+<a name="index-sin"></a>
+
+<div class="example">
+<pre class="example">SIN degrees
+</pre></div>
+
+<p>outputs the sine of its input, which is taken in degrees.
+</p>
+<hr>
+<a name="RADSIN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#COS" accesskey="n" rel="next">COS</a>, Previous: <a href="usermanual.html#SIN" accesskey="p" rel="prev">SIN</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="radsin"></a>
+<h4 class="unnumberedsubsec">radsin</h4>
+<a name="index-radsin"></a>
+
+<div class="example">
+<pre class="example">RADSIN radians
+</pre></div>
+
+<p>outputs the sine of its input, which is taken in radians.
+</p>
+<hr>
+<a name="COS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#RADCOS" accesskey="n" rel="next">RADCOS</a>, Previous: <a href="usermanual.html#RADSIN" accesskey="p" rel="prev">RADSIN</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="cos"></a>
+<h4 class="unnumberedsubsec">cos</h4>
+<a name="index-cos"></a>
+
+<div class="example">
+<pre class="example">COS degrees
+</pre></div>
+
+<p>outputs the cosine of its input, which is taken in degrees.
+</p>
+<hr>
+<a name="RADCOS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ARCTAN" accesskey="n" rel="next">ARCTAN</a>, Previous: <a href="usermanual.html#COS" accesskey="p" rel="prev">COS</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="radcos"></a>
+<h4 class="unnumberedsubsec">radcos</h4>
+<a name="index-radcos"></a>
+
+<div class="example">
+<pre class="example">RADCOS radians
+</pre></div>
+
+<p>outputs the cosine of its input, which is taken in radians.
+</p>
+<hr>
+<a name="ARCTAN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#RADARCTAN" accesskey="n" rel="next">RADARCTAN</a>, Previous: <a href="usermanual.html#RADCOS" accesskey="p" rel="prev">RADCOS</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="arctan"></a>
+<h4 class="unnumberedsubsec">arctan</h4>
+<a name="index-arctan"></a>
+
+<div class="example">
+<pre class="example">ARCTAN num
+(ARCTAN x y)
+</pre></div>
+
+<p>outputs the arctangent, in degrees, of its input.  With two inputs,
+outputs the arctangent of y/x, if x is nonzero, or 90 or &ndash;90 depending
+on the sign of y, if x is zero.
+</p>
+<hr>
+<a name="RADARCTAN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ISEQ" accesskey="n" rel="next">ISEQ</a>, Previous: <a href="usermanual.html#ARCTAN" accesskey="p" rel="prev">ARCTAN</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="radarctan"></a>
+<h4 class="unnumberedsubsec">radarctan</h4>
+<a name="index-radarctan"></a>
+
+<div class="example">
+<pre class="example">RADARCTAN num
+(RADARCTAN x y)
+</pre></div>
+
+<p>outputs the arctangent, in radians, of its input.  With two inputs,
+outputs the arctangent of y/x, if x is nonzero, or pi/2 or &ndash;pi/2
+depending on the sign of y, if x is zero.
+</p>
+<p>The expression <tt>2*(RADARCTAN&nbsp;0&nbsp;1)</tt><!-- /@w --> can be used to get the value of pi.
+</p>
+<hr>
+<a name="ISEQ"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#RSEQ" accesskey="n" rel="next">RSEQ</a>, Previous: <a href="usermanual.html#RADARCTAN" accesskey="p" rel="prev">RADARCTAN</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="iseq"></a>
+<h4 class="unnumberedsubsec">iseq</h4>
+<a name="index-iseq"></a>
+
+<div class="example">
+<pre class="example">ISEQ from to					(library procedure)
+</pre></div>
+
+<p>outputs a list of the integers from <var>from</var> to <var>to</var>, inclusive.
+</p>
+<div class="example">
+<pre class="example">? show iseq 3 7
+[3 4 5 6 7]
+? show iseq 7 3
+[7 6 5 4 3]
+</pre></div>
+
+<hr>
+<a name="RSEQ"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#ISEQ" accesskey="p" rel="prev">ISEQ</a>, Up: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="u" rel="up">NUMERIC OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="rseq"></a>
+<h4 class="unnumberedsubsec">rseq</h4>
+<a name="index-rseq"></a>
+
+<div class="example">
+<pre class="example">RSEQ from to count				(library procedure)
+</pre></div>
+
+<p>outputs a list of <var>count</var> equally spaced rational numbers between
+<var>from</var> and <var>to</var>, inclusive.
+</p>
+<div class="example">
+<pre class="example">? show rseq 3 5 9 
+[3 3.25 3.5 3.75 4 4.25 4.5 4.75 5] 
+? show rseq 3 5 5
+[3 3.5 4 4.5 5]
+</pre></div>
+
+
+<hr>
+<a name="NUMERIC-PREDICATES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#RANDOM-NUMBERS" accesskey="n" rel="next">RANDOM NUMBERS</a>, Previous: <a href="usermanual.html#NUMERIC-OPERATIONS" accesskey="p" rel="prev">NUMERIC OPERATIONS</a>, Up: <a href="usermanual.html#ARITHMETIC" accesskey="u" rel="up">ARITHMETIC</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Numeric-Predicates"></a>
+<h3 class="section">5.2 Numeric Predicates</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LESSP" accesskey="1">LESSP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#GREATERP" accesskey="2">GREATERP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LESSEQUALP" accesskey="3">LESSEQUALP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#GREATEREQUALP" accesskey="4">GREATEREQUALP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+</pre></th></tr></table>
+
+
+<hr>
+<a name="LESSP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#GREATERP" accesskey="n" rel="next">GREATERP</a>, Previous: <a href="usermanual.html#NUMERIC-PREDICATES" accesskey="p" rel="prev">NUMERIC PREDICATES</a>, Up: <a href="usermanual.html#NUMERIC-PREDICATES" accesskey="u" rel="up">NUMERIC PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="lessp"></a>
+<h4 class="unnumberedsubsec">lessp</h4>
+<a name="index-lessp"></a>
+<a name="index-less_003f"></a>
+<a name="index-_003c"></a>
+
+<div class="example">
+<pre class="example">LESSP num1 num2
+LESS? num1 num2
+num1 &lt; num2
+</pre></div>
+
+<p>outputs <code>TRUE</code> if its first input is strictly less than its second.
+</p>
+<hr>
+<a name="GREATERP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LESSEQUALP" accesskey="n" rel="next">LESSEQUALP</a>, Previous: <a href="usermanual.html#LESSP" accesskey="p" rel="prev">LESSP</a>, Up: <a href="usermanual.html#NUMERIC-PREDICATES" accesskey="u" rel="up">NUMERIC PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="greaterp"></a>
+<h4 class="unnumberedsubsec">greaterp</h4>
+<a name="index-greaterp"></a>
+<a name="index-greater_003f"></a>
+<a name="index-_003e"></a>
+
+<div class="example">
+<pre class="example">GREATERP num1 num2
+GREATER? num1 num2
+num1 &gt; num2
+</pre></div>
+
+<p>outputs <code>TRUE</code> if its first input is strictly greater than its second.
+</p>
+<hr>
+<a name="LESSEQUALP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#GREATEREQUALP" accesskey="n" rel="next">GREATEREQUALP</a>, Previous: <a href="usermanual.html#GREATERP" accesskey="p" rel="prev">GREATERP</a>, Up: <a href="usermanual.html#NUMERIC-PREDICATES" accesskey="u" rel="up">NUMERIC PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="lessequalp"></a>
+<h4 class="unnumberedsubsec">lessequalp</h4>
+<a name="index-lessequalp"></a>
+<a name="index-lessequal_003f"></a>
+<a name="index-_003c_003d"></a>
+
+<div class="example">
+<pre class="example">LESSEQUALP num1 num2
+LESSEQUAL? num1 num2
+num1 &lt;= num2
+</pre></div>
+
+<p>outputs <code>TRUE</code> if its first input is less than or equal to its second.
+</p>
+<hr>
+<a name="GREATEREQUALP"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#LESSEQUALP" accesskey="p" rel="prev">LESSEQUALP</a>, Up: <a href="usermanual.html#NUMERIC-PREDICATES" accesskey="u" rel="up">NUMERIC PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="greaterequalp"></a>
+<h4 class="unnumberedsubsec">greaterequalp</h4>
+<a name="index-greaterequalp"></a>
+<a name="index-greaterequal_003f"></a>
+<a name="index-_003e_003d"></a>
+
+<div class="example">
+<pre class="example">GREATEREQUALP num1 num2
+GREATEREQUAL? num1 num2
+num1 &gt;= num2
+</pre></div>
+
+<p>outputs <code>TRUE</code> if its first input is greater than or equal to its second.
+</p>
+
+<hr>
+<a name="RANDOM-NUMBERS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PRINT-FORMATTING" accesskey="n" rel="next">PRINT FORMATTING</a>, Previous: <a href="usermanual.html#NUMERIC-PREDICATES" accesskey="p" rel="prev">NUMERIC PREDICATES</a>, Up: <a href="usermanual.html#ARITHMETIC" accesskey="u" rel="up">ARITHMETIC</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Random-Numbers"></a>
+<h3 class="section">5.3 Random Numbers</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RANDOM" accesskey="1">RANDOM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RERANDOM" accesskey="2">RERANDOM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="RANDOM"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#RERANDOM" accesskey="n" rel="next">RERANDOM</a>, Previous: <a href="usermanual.html#RANDOM-NUMBERS" accesskey="p" rel="prev">RANDOM NUMBERS</a>, Up: <a href="usermanual.html#RANDOM-NUMBERS" accesskey="u" rel="up">RANDOM NUMBERS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="random"></a>
+<h4 class="unnumberedsubsec">random</h4>
+<a name="index-random"></a>
+
+<div class="example">
+<pre class="example">RANDOM num
+(RANDOM start end)
+</pre></div>
+
+<p>with one input, outputs a random nonnegative integer less than its
+input, which must be a positive integer.
+</p>
+<p>With two inputs, <code>RANDOM</code> outputs a random integer greater than or
+equal to the first input, and less than or equal to the second
+input.  Both inputs must be integers, and the first must be less
+than the second.  <tt>(RANDOM&nbsp;0&nbsp;9)</tt><!-- /@w --> is equivalent to <tt>RANDOM&nbsp;10</tt><!-- /@w -->;
+<tt>(RANDOM&nbsp;3&nbsp;8)</tt><!-- /@w --> is equivalent to <tt>(RANDOM&nbsp;6)+3</tt><!-- /@w -->.
+</p>
+<hr>
+<a name="RERANDOM"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#RANDOM" accesskey="p" rel="prev">RANDOM</a>, Up: <a href="usermanual.html#RANDOM-NUMBERS" accesskey="u" rel="up">RANDOM NUMBERS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="rerandom"></a>
+<h4 class="unnumberedsubsec">rerandom</h4>
+<a name="index-rerandom"></a>
+
+<div class="example">
+<pre class="example">RERANDOM
+(RERANDOM seed)
+</pre></div>
+
+<p>command.  Makes the results of <code>RANDOM</code> reproducible.  Ordinarily the
+sequence of random numbers is different each time Logo is used.  If you need
+the same sequence of pseudo-random numbers repeatedly, e.g. to debug a
+program, say <code>RERANDOM</code> before the first invocation of <code>RANDOM</code>.  If
+you need more than one repeatable sequence, you can give <code>RERANDOM</code> an integer
+input; each possible input selects a unique sequence of numbers.
+</p>
+
+<hr>
+<a name="PRINT-FORMATTING"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BITWISE-OPERATIONS" accesskey="n" rel="next">BITWISE OPERATIONS</a>, Previous: <a href="usermanual.html#RANDOM-NUMBERS" accesskey="p" rel="prev">RANDOM NUMBERS</a>, Up: <a href="usermanual.html#ARITHMETIC" accesskey="u" rel="up">ARITHMETIC</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Print-Formatting"></a>
+<h3 class="section">5.4 Print Formatting</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FORM" accesskey="1">FORM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="FORM"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#PRINT-FORMATTING" accesskey="p" rel="prev">PRINT FORMATTING</a>, Up: <a href="usermanual.html#PRINT-FORMATTING" accesskey="u" rel="up">PRINT FORMATTING</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="form"></a>
+<h4 class="unnumberedsubsec">form</h4>
+<a name="index-form"></a>
+
+<div class="example">
+<pre class="example">FORM num width precision
+</pre></div>
+
+<p>outputs a word containing a printable representation of <var>num</var>, possibly
+preceded by spaces (and therefore not a number for purposes of
+performing arithmetic operations), with at least <var>width</var> characters,
+including exactly <var>precision</var> digits after the decimal point.  (If
+<var>precision</var> is 0 then there will be no decimal point in the output.)
+</p>
+<p>As a debugging feature, (<tt>FORM&nbsp;num&nbsp;<span class="nolinebreak">-1</span>&nbsp;format</tt><!-- /@w -->) will print the floating
+point <var>num</var> according to the C printf <var>format</var>, to allow
+</p>
+<div class="example">
+<pre class="example">to hex :num
+op form :num -1 &quot;|%08X %08X|
+end
+</pre></div>
+
+<p>to allow finding out the exact result of floating point operations.  The
+precise format needed may be machine-dependent.
+</p>
+
+<hr>
+<a name="BITWISE-OPERATIONS"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#PRINT-FORMATTING" accesskey="p" rel="prev">PRINT FORMATTING</a>, Up: <a href="usermanual.html#ARITHMETIC" accesskey="u" rel="up">ARITHMETIC</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Bitwise-Operations"></a>
+<h3 class="section">5.5 Bitwise Operations</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BITAND" accesskey="1">BITAND</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BITOR" accesskey="2">BITOR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BITXOR" accesskey="3">BITXOR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BITNOT" accesskey="4">BITNOT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ASHIFT" accesskey="5">ASHIFT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LSHIFT" accesskey="6">LSHIFT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="BITAND"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BITOR" accesskey="n" rel="next">BITOR</a>, Previous: <a href="usermanual.html#BITWISE-OPERATIONS" accesskey="p" rel="prev">BITWISE OPERATIONS</a>, Up: <a href="usermanual.html#BITWISE-OPERATIONS" accesskey="u" rel="up">BITWISE OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="bitand"></a>
+<h4 class="unnumberedsubsec">bitand</h4>
+<a name="index-bitand"></a>
+
+<div class="example">
+<pre class="example">BITAND num1 num2
+(BITAND num1 num2 num3 ...)
+</pre></div>
+
+<p>outputs the bitwise <var>and</var> of its inputs, which must be integers.
+</p>
+<p>See <a href="usermanual.html#AND">AND</a> .
+</p>
+<hr>
+<a name="BITOR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BITXOR" accesskey="n" rel="next">BITXOR</a>, Previous: <a href="usermanual.html#BITAND" accesskey="p" rel="prev">BITAND</a>, Up: <a href="usermanual.html#BITWISE-OPERATIONS" accesskey="u" rel="up">BITWISE OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="bitor"></a>
+<h4 class="unnumberedsubsec">bitor</h4>
+<a name="index-bitor"></a>
+
+<div class="example">
+<pre class="example">BITOR num1 num2
+(BITOR num1 num2 num3 ...)
+</pre></div>
+
+<p>outputs the bitwise <var>or</var> of its inputs, which must be integers.
+</p>
+<p>See <a href="usermanual.html#OR">OR</a> .
+</p>
+<hr>
+<a name="BITXOR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BITNOT" accesskey="n" rel="next">BITNOT</a>, Previous: <a href="usermanual.html#BITOR" accesskey="p" rel="prev">BITOR</a>, Up: <a href="usermanual.html#BITWISE-OPERATIONS" accesskey="u" rel="up">BITWISE OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="bitxor"></a>
+<h4 class="unnumberedsubsec">bitxor</h4>
+<a name="index-bitxor"></a>
+
+<div class="example">
+<pre class="example">BITXOR num1 num2
+(BITXOR num1 num2 num3 ...)
+</pre></div>
+
+<p>outputs the bitwise <var>exclusive or</var> of its inputs, which must be integers.
+</p>
+<hr>
+<a name="BITNOT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ASHIFT" accesskey="n" rel="next">ASHIFT</a>, Previous: <a href="usermanual.html#BITXOR" accesskey="p" rel="prev">BITXOR</a>, Up: <a href="usermanual.html#BITWISE-OPERATIONS" accesskey="u" rel="up">BITWISE OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="bitnot"></a>
+<h4 class="unnumberedsubsec">bitnot</h4>
+<a name="index-bitnot"></a>
+
+<div class="example">
+<pre class="example">BITNOT num
+</pre></div>
+
+<p>outputs the bitwise <var>not</var> of its input, which must be an integer.
+</p>
+<p>See <a href="usermanual.html#NOT">NOT</a> .
+</p>
+<hr>
+<a name="ASHIFT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LSHIFT" accesskey="n" rel="next">LSHIFT</a>, Previous: <a href="usermanual.html#BITNOT" accesskey="p" rel="prev">BITNOT</a>, Up: <a href="usermanual.html#BITWISE-OPERATIONS" accesskey="u" rel="up">BITWISE OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ashift"></a>
+<h4 class="unnumberedsubsec">ashift</h4>
+<a name="index-ashift"></a>
+
+<div class="example">
+<pre class="example">ASHIFT num1 num2
+</pre></div>
+
+<p>outputs <var>num1</var> arithmetic-shifted to the left by <var>num2</var> bits.  If
+<var>num2</var> is negative, the shift is to the right with sign extension.  The
+inputs must be integers.
+</p>
+<hr>
+<a name="LSHIFT"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#ASHIFT" accesskey="p" rel="prev">ASHIFT</a>, Up: <a href="usermanual.html#BITWISE-OPERATIONS" accesskey="u" rel="up">BITWISE OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="lshift"></a>
+<h4 class="unnumberedsubsec">lshift</h4>
+<a name="index-lshift"></a>
+
+<div class="example">
+<pre class="example">LSHIFT num1 num2
+</pre></div>
+
+<p>outputs <var>num1</var> logical-shifted to the left by <var>num2</var> bits.  If
+<var>num2</var> is negative, the shift is to the right with zero fill.  The inputs
+must be integers.
+</p>
+
+
+<hr>
+<a name="LOGICAL-OPERATIONS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#GRAPHICS" accesskey="n" rel="next">GRAPHICS</a>, Previous: <a href="usermanual.html#ARITHMETIC" accesskey="p" rel="prev">ARITHMETIC</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Logical-Operations"></a>
+<h2 class="chapter">6 Logical Operations</h2>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#AND" accesskey="1">AND</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OR" accesskey="2">OR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NOT" accesskey="3">NOT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="AND"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#OR" accesskey="n" rel="next">OR</a>, Previous: <a href="usermanual.html#LOGICAL-OPERATIONS" accesskey="p" rel="prev">LOGICAL OPERATIONS</a>, Up: <a href="usermanual.html#LOGICAL-OPERATIONS" accesskey="u" rel="up">LOGICAL OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="and"></a>
+<h3 class="unnumberedsec">and</h3>
+<a name="index-and"></a>
+
+<div class="example">
+<pre class="example">AND tf1 tf2
+(AND tf1 tf2 tf3 ...)
+</pre></div>
+
+<p>outputs <code>TRUE</code> if all inputs are <code>TRUE</code>, otherwise <code>FALSE</code>.  All inputs
+must be <code>TRUE</code> or <code>FALSE</code>.  (Comparison is case-insensitive regardless
+of the value of <code>CASEIGNOREDP</code>.  That is, <code>true</code> or <code>True</code> or <code>TRUE</code>
+are all the same.)  An input can be a list, in which case it is
+taken as an expression to run; that expression must produce a <code>TRUE</code>
+or <code>FALSE</code> value.  List expressions are evaluated from left to right;
+as soon as a <code>FALSE</code> value is found, the remaining inputs are not
+examined.  Example:
+</p>
+<div class="example">
+<pre class="example">MAKE &quot;RESULT AND [NOT (:X = 0)] [(1 / :X) &gt; .5]
+</pre></div>
+
+<p>to avoid the division by zero if the first part is false.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OR" accesskey="1">OR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NOT" accesskey="2">NOT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="OR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#NOT" accesskey="n" rel="next">NOT</a>, Previous: <a href="usermanual.html#AND" accesskey="p" rel="prev">AND</a>, Up: <a href="usermanual.html#LOGICAL-OPERATIONS" accesskey="u" rel="up">LOGICAL OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="or"></a>
+<h4 class="unnumberedsubsec">or</h4>
+<a name="index-or"></a>
+
+<div class="example">
+<pre class="example">OR tf1 tf2
+(OR tf1 tf2 tf3 ...)
+</pre></div>
+
+<p>outputs <code>TRUE</code> if any input is <code>TRUE</code>, otherwise <code>FALSE</code>.  All inputs
+must be <code>TRUE</code> or <code>FALSE</code>.  (Comparison is case-insensitive regardless
+of the value of <code>CASEIGNOREDP</code>.  That is, <code>true</code> or <code>True</code> or <code>TRUE</code>
+are all the same.)  An input can be a list, in which case it is
+taken as an expression to run; that expression must produce a <code>TRUE</code>
+or <code>FALSE</code> value.  List expressions are evaluated from left to right;
+as soon as a <code>TRUE</code> value is found, the remaining inputs are not
+examined.  Example:
+</p>
+<div class="example">
+<pre class="example">IF OR :X=0 [some.long.computation] [...]
+</pre></div>
+
+<p>to avoid the long computation if the first condition is met.
+</p>
+<hr>
+<a name="NOT"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#OR" accesskey="p" rel="prev">OR</a>, Up: <a href="usermanual.html#LOGICAL-OPERATIONS" accesskey="u" rel="up">LOGICAL OPERATIONS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="not"></a>
+<h4 class="unnumberedsubsec">not</h4>
+<a name="index-not"></a>
+
+<div class="example">
+<pre class="example">NOT tf
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the input is <code>FALSE</code>, and vice versa.  The input can be
+a list, in which case it is taken as an expression to run; that
+expression must produce a <code>TRUE</code> or <code>FALSE</code> value.
+</p>
+
+<hr>
+<a name="GRAPHICS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#WORKSPACE-MANAGEMENT" accesskey="n" rel="next">WORKSPACE MANAGEMENT</a>, Previous: <a href="usermanual.html#LOGICAL-OPERATIONS" accesskey="p" rel="prev">LOGICAL OPERATIONS</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Graphics"></a>
+<h2 class="chapter">7 Graphics</h2>
+
+<p>Berkeley Logo provides traditional Logo turtle graphics with one turtle.
+Multiple turtles, dynamic turtles, and collision detection are not supported.
+This is the most hardware-dependent part of Logo; some features may exist
+on some machines but not others.  Nevertheless, the goal has been to make
+Logo programs as portable as possible, rather than to take fullest advantage
+of the capabilities of each machine.  In particular, Logo attempts to scale
+the screen so that turtle coordinates [&ndash;100 &ndash;100] and [100 100] fit on the
+graphics window, and so that the aspect ratio is 1:1.
+</p>
+<p>The center of the graphics window (which may or may not be the entire
+screen, depending on the machine used) is turtle location [0 0].  Positive
+X is to the right; positive Y is up.  Headings (angles) are measured in
+degrees clockwise from the positive Y axis.  (This differs from the common
+mathematical convention of measuring angles counterclockwise from the
+positive X axis.)  The turtle is represented as an isoceles triangle; the
+actual turtle position is at the midpoint of the base (the short side).
+However, the turtle is drawn one step behind its actual position, so that
+the display of the base of the turtle&rsquo;s triangle does not obscure a line
+drawn perpendicular to it (as would happen after drawing a square).
+</p>
+<p>Colors are, of course, hardware-dependent.  However, Logo provides partial
+hardware independence by interpreting color numbers 0 through 7 uniformly
+on all computers:
+</p>
+<div class="example">
+<pre class="example">0  black        1  blue         2  green        3  cyan
+4  red          5  magenta      6  yellow       7 white
+</pre></div>
+
+<p>Where possible, Logo provides additional user-settable colors; how many
+are available depends on the hardware and operating system environment.
+If at least 16 colors are available, Logo tries to provide uniform
+initial settings for the colors 8-15:
+</p>
+<div class="example">
+<pre class="example"> 8  brown        9  tan         10  forest      11  aqua
+12  salmon      13  purple      14  orange      15  grey
+</pre></div>
+
+<p>Logo begins with a black background and white pen.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TURTLE-MOTION" accesskey="1">TURTLE MOTION</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TURTLE-MOTION-QUERIES" accesskey="2">TURTLE MOTION QUERIES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="3">TURTLE AND WINDOW CONTROL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TURTLE-AND-WINDOW-QUERIES" accesskey="4">TURTLE AND WINDOW QUERIES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="5">PEN AND BACKGROUND CONTROL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PEN-QUERIES" accesskey="6">PEN QUERIES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SAVING-AND-LOADING-PICTURES" accesskey="7">SAVING AND LOADING PICTURES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MOUSE-QUERIES" accesskey="8">MOUSE QUERIES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+
+<hr>
+<a name="TURTLE-MOTION"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TURTLE-MOTION-QUERIES" accesskey="n" rel="next">TURTLE MOTION QUERIES</a>, Previous: <a href="usermanual.html#GRAPHICS" accesskey="p" rel="prev">GRAPHICS</a>, Up: <a href="usermanual.html#GRAPHICS" accesskey="u" rel="up">GRAPHICS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Turtle-Motion"></a>
+<h3 class="section">7.1 Turtle Motion</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FORWARD" accesskey="1">FORWARD</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BACK" accesskey="2">BACK</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LEFT" accesskey="3">LEFT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RIGHT" accesskey="4">RIGHT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETPOS" accesskey="5">SETPOS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETXY" accesskey="6">SETXY</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETX" accesskey="7">SETX</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETY" accesskey="8">SETY</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETHEADING" accesskey="9">SETHEADING</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#HOME">HOME</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ARC">ARC</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="FORWARD"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BACK" accesskey="n" rel="next">BACK</a>, Previous: <a href="usermanual.html#TURTLE-MOTION" accesskey="p" rel="prev">TURTLE MOTION</a>, Up: <a href="usermanual.html#TURTLE-MOTION" accesskey="u" rel="up">TURTLE MOTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="forward"></a>
+<h4 class="unnumberedsubsec">forward</h4>
+<a name="index-forward"></a>
+<a name="index-fd"></a>
+
+<div class="example">
+<pre class="example">FORWARD dist
+FD dist
+</pre></div>
+
+<p>moves the turtle forward, in the direction that it&rsquo;s facing, by the
+specified distance (measured in turtle steps).
+</p>
+<hr>
+<a name="BACK"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LEFT" accesskey="n" rel="next">LEFT</a>, Previous: <a href="usermanual.html#FORWARD" accesskey="p" rel="prev">FORWARD</a>, Up: <a href="usermanual.html#TURTLE-MOTION" accesskey="u" rel="up">TURTLE MOTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="back"></a>
+<h4 class="unnumberedsubsec">back</h4>
+<a name="index-back"></a>
+<a name="index-bk"></a>
+
+<div class="example">
+<pre class="example">BACK dist
+BK dist
+</pre></div>
+
+<p>moves the turtle backward, i.e., exactly opposite to the direction that
+it&rsquo;s facing, by the specified distance.  (The heading of the turtle does
+not change.)
+</p>
+<hr>
+<a name="LEFT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#RIGHT" accesskey="n" rel="next">RIGHT</a>, Previous: <a href="usermanual.html#BACK" accesskey="p" rel="prev">BACK</a>, Up: <a href="usermanual.html#TURTLE-MOTION" accesskey="u" rel="up">TURTLE MOTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="left"></a>
+<h4 class="unnumberedsubsec">left</h4>
+<a name="index-left"></a>
+<a name="index-lt"></a>
+
+<div class="example">
+<pre class="example">LEFT degrees
+LT degrees
+</pre></div>
+
+<p>turns the turtle counterclockwise by the specified angle, measured in
+degrees (1/360 of a circle).
+</p>
+<hr>
+<a name="RIGHT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETPOS" accesskey="n" rel="next">SETPOS</a>, Previous: <a href="usermanual.html#LEFT" accesskey="p" rel="prev">LEFT</a>, Up: <a href="usermanual.html#TURTLE-MOTION" accesskey="u" rel="up">TURTLE MOTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="right"></a>
+<h4 class="unnumberedsubsec">right</h4>
+<a name="index-right"></a>
+<a name="index-rt"></a>
+
+<div class="example">
+<pre class="example">RIGHT degrees
+RT degrees
+</pre></div>
+
+<p>turns the turtle clockwise by the specified angle, measured in degrees
+(1/360 of a circle).
+</p>
+<hr>
+<a name="SETPOS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETXY" accesskey="n" rel="next">SETXY</a>, Previous: <a href="usermanual.html#RIGHT" accesskey="p" rel="prev">RIGHT</a>, Up: <a href="usermanual.html#TURTLE-MOTION" accesskey="u" rel="up">TURTLE MOTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setpos"></a>
+<h4 class="unnumberedsubsec">setpos</h4>
+<a name="index-setpos"></a>
+
+<div class="example">
+<pre class="example">SETPOS pos
+</pre></div>
+
+<p>moves the turtle to an absolute position in the graphics window.  The input is
+a list of two numbers, the X and Y coordinates.
+</p>
+<hr>
+<a name="SETXY"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETX" accesskey="n" rel="next">SETX</a>, Previous: <a href="usermanual.html#SETPOS" accesskey="p" rel="prev">SETPOS</a>, Up: <a href="usermanual.html#TURTLE-MOTION" accesskey="u" rel="up">TURTLE MOTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setxy"></a>
+<h4 class="unnumberedsubsec">setxy</h4>
+<a name="index-setxy"></a>
+
+<div class="example">
+<pre class="example">SETXY xcor ycor
+</pre></div>
+
+<p>moves the turtle to an absolute position in the graphics window.  The two
+inputs are numbers, the X and Y coordinates.
+</p>
+<hr>
+<a name="SETX"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETY" accesskey="n" rel="next">SETY</a>, Previous: <a href="usermanual.html#SETXY" accesskey="p" rel="prev">SETXY</a>, Up: <a href="usermanual.html#TURTLE-MOTION" accesskey="u" rel="up">TURTLE MOTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setx"></a>
+<h4 class="unnumberedsubsec">setx</h4>
+<a name="index-setx"></a>
+
+<div class="example">
+<pre class="example">SETX xcor
+</pre></div>
+
+<p>moves the turtle horizontally from its old position to a new absolute
+horizontal coordinate.  The input is the new X coordinate.
+</p>
+<hr>
+<a name="SETY"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETHEADING" accesskey="n" rel="next">SETHEADING</a>, Previous: <a href="usermanual.html#SETX" accesskey="p" rel="prev">SETX</a>, Up: <a href="usermanual.html#TURTLE-MOTION" accesskey="u" rel="up">TURTLE MOTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="sety"></a>
+<h4 class="unnumberedsubsec">sety</h4>
+<a name="index-sety"></a>
+
+<div class="example">
+<pre class="example">SETY ycor
+</pre></div>
+
+<p>moves the turtle vertically from its old position to a new absolute
+vertical coordinate.  The input is the new Y coordinate.
+</p>
+<hr>
+<a name="SETHEADING"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#HOME" accesskey="n" rel="next">HOME</a>, Previous: <a href="usermanual.html#SETY" accesskey="p" rel="prev">SETY</a>, Up: <a href="usermanual.html#TURTLE-MOTION" accesskey="u" rel="up">TURTLE MOTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setheading"></a>
+<h4 class="unnumberedsubsec">setheading</h4>
+<a name="index-setheading"></a>
+<a name="index-seth"></a>
+
+<div class="example">
+<pre class="example">SETHEADING degrees
+SETH degrees
+</pre></div>
+
+<p>turns the turtle to a new absolute heading.  The input is a number,
+the heading in degrees clockwise from the positive Y axis.
+</p>
+<hr>
+<a name="HOME"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ARC" accesskey="n" rel="next">ARC</a>, Previous: <a href="usermanual.html#SETHEADING" accesskey="p" rel="prev">SETHEADING</a>, Up: <a href="usermanual.html#TURTLE-MOTION" accesskey="u" rel="up">TURTLE MOTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="home"></a>
+<h4 class="unnumberedsubsec">home</h4>
+<a name="index-home"></a>
+
+<div class="example">
+<pre class="example">HOME
+</pre></div>
+
+<p>moves the turtle to the center of the screen.  Equivalent to 
+<tt>SETPOS&nbsp;[0&nbsp;0]&nbsp;SETHEADING&nbsp;0.</tt><!-- /@w -->
+</p>
+<p>See <a href="usermanual.html#SETPOS">SETPOS</a> ,
+See <a href="usermanual.html#SETHEADING">SETHEADING</a> .
+</p>
+<hr>
+<a name="ARC"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#HOME" accesskey="p" rel="prev">HOME</a>, Up: <a href="usermanual.html#TURTLE-MOTION" accesskey="u" rel="up">TURTLE MOTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="arc"></a>
+<h4 class="unnumberedsubsec">arc</h4>
+<a name="index-arc"></a>
+
+<div class="example">
+<pre class="example">ARC angle radius
+</pre></div>
+
+<p>draws an arc of a circle, with the turtle at the center, with the
+specified radius, starting at the turtle&rsquo;s heading and extending
+clockwise through the specified angle.  The turtle does not move.
+</p>
+
+<hr>
+<a name="TURTLE-MOTION-QUERIES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="n" rel="next">TURTLE AND WINDOW CONTROL</a>, Previous: <a href="usermanual.html#TURTLE-MOTION" accesskey="p" rel="prev">TURTLE MOTION</a>, Up: <a href="usermanual.html#GRAPHICS" accesskey="u" rel="up">GRAPHICS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Turtle-Motion-Queries"></a>
+<h3 class="section">7.2 Turtle Motion Queries</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#POS" accesskey="1">POS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#XCOR" accesskey="2">XCOR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#YCOR" accesskey="3">YCOR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#HEADING" accesskey="4">HEADING</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TOWARDS" accesskey="5">TOWARDS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SCRUNCH" accesskey="6">SCRUNCH</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="POS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#XCOR" accesskey="n" rel="next">XCOR</a>, Previous: <a href="usermanual.html#TURTLE-MOTION-QUERIES" accesskey="p" rel="prev">TURTLE MOTION QUERIES</a>, Up: <a href="usermanual.html#TURTLE-MOTION-QUERIES" accesskey="u" rel="up">TURTLE MOTION QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pos"></a>
+<h4 class="unnumberedsubsec">pos</h4>
+<a name="index-pos"></a>
+
+<div class="example">
+<pre class="example">POS
+</pre></div>
+
+<p>outputs the turtle&rsquo;s current position, as a list of two numbers, the X
+and Y coordinates.
+</p>
+<hr>
+<a name="XCOR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#YCOR" accesskey="n" rel="next">YCOR</a>, Previous: <a href="usermanual.html#POS" accesskey="p" rel="prev">POS</a>, Up: <a href="usermanual.html#TURTLE-MOTION-QUERIES" accesskey="u" rel="up">TURTLE MOTION QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="xcor"></a>
+<h4 class="unnumberedsubsec">xcor</h4>
+<a name="index-xcor"></a>
+
+<div class="example">
+<pre class="example">XCOR						(library procedure)
+</pre></div>
+
+<p>outputs a number, the turtle&rsquo;s X coordinate.
+</p>
+<hr>
+<a name="YCOR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#HEADING" accesskey="n" rel="next">HEADING</a>, Previous: <a href="usermanual.html#XCOR" accesskey="p" rel="prev">XCOR</a>, Up: <a href="usermanual.html#TURTLE-MOTION-QUERIES" accesskey="u" rel="up">TURTLE MOTION QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ycor"></a>
+<h4 class="unnumberedsubsec">ycor</h4>
+<a name="index-ycor"></a>
+
+<div class="example">
+<pre class="example">YCOR						(library procedure)
+</pre></div>
+
+<p>outputs a number, the turtle&rsquo;s Y coordinate.
+</p>
+<hr>
+<a name="HEADING"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TOWARDS" accesskey="n" rel="next">TOWARDS</a>, Previous: <a href="usermanual.html#YCOR" accesskey="p" rel="prev">YCOR</a>, Up: <a href="usermanual.html#TURTLE-MOTION-QUERIES" accesskey="u" rel="up">TURTLE MOTION QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="heading"></a>
+<h4 class="unnumberedsubsec">heading</h4>
+<a name="index-heading"></a>
+
+<div class="example">
+<pre class="example">HEADING
+</pre></div>
+
+<p>outputs a number, the turtle&rsquo;s heading in degrees.
+</p>
+<hr>
+<a name="TOWARDS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SCRUNCH" accesskey="n" rel="next">SCRUNCH</a>, Previous: <a href="usermanual.html#HEADING" accesskey="p" rel="prev">HEADING</a>, Up: <a href="usermanual.html#TURTLE-MOTION-QUERIES" accesskey="u" rel="up">TURTLE MOTION QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="towards"></a>
+<h4 class="unnumberedsubsec">towards</h4>
+<a name="index-towards"></a>
+
+<div class="example">
+<pre class="example">TOWARDS pos
+</pre></div>
+
+<p>outputs a number, the heading at which the turtle should be facing so
+that it would point from its current position to the position given as
+the input.
+</p>
+<hr>
+<a name="SCRUNCH"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#TOWARDS" accesskey="p" rel="prev">TOWARDS</a>, Up: <a href="usermanual.html#TURTLE-MOTION-QUERIES" accesskey="u" rel="up">TURTLE MOTION QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="scrunch"></a>
+<h4 class="unnumberedsubsec">scrunch</h4>
+<a name="index-scrunch"></a>
+
+<div class="example">
+<pre class="example">SCRUNCH
+</pre></div>
+
+<p>outputs a list containing two numbers, the X and Y scrunch factors, as used by
+<code>SETSCRUNCH</code>.  (But note that <code>SETSCRUNCH</code> takes two numbers as inputs, not one
+list of numbers.)
+</p>
+<p>See <a href="usermanual.html#SETSCRUNCH">SETSCRUNCH</a> .
+</p>
+
+
+<hr>
+<a name="TURTLE-AND-WINDOW-CONTROL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TURTLE-AND-WINDOW-QUERIES" accesskey="n" rel="next">TURTLE AND WINDOW QUERIES</a>, Previous: <a href="usermanual.html#TURTLE-MOTION-QUERIES" accesskey="p" rel="prev">TURTLE MOTION QUERIES</a>, Up: <a href="usermanual.html#GRAPHICS" accesskey="u" rel="up">GRAPHICS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Turtle-and-Window-Control"></a>
+<h3 class="section">7.3 Turtle and Window Control</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SHOWTURTLE" accesskey="1">SHOWTURTLE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#HIDETURTLE" accesskey="2">HIDETURTLE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CLEAN" accesskey="3">CLEAN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CLEARSCREEN" accesskey="4">CLEARSCREEN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WRAP" accesskey="5">WRAP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WINDOW" accesskey="6">WINDOW</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FENCE" accesskey="7">FENCE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FILL" accesskey="8">FILL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FILLED" accesskey="9">FILLED</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LABEL">LABEL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETLABELHEIGHT">SETLABELHEIGHT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TEXTSCREEN">TEXTSCREEN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FULLSCREEN">FULLSCREEN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SPLITSCREEN">SPLITSCREEN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETSCRUNCH">SETSCRUNCH</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#REFRESH">REFRESH</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NOREFRESH">NOREFRESH</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="SHOWTURTLE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#HIDETURTLE" accesskey="n" rel="next">HIDETURTLE</a>, Previous: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="p" rel="prev">TURTLE AND WINDOW CONTROL</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="showturtle"></a>
+<h4 class="unnumberedsubsec">showturtle</h4>
+<a name="index-showturtle"></a>
+<a name="index-st"></a>
+
+<div class="example">
+<pre class="example">SHOWTURTLE
+ST
+</pre></div>
+
+<p>makes the turtle visible.
+</p>
+<hr>
+<a name="HIDETURTLE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CLEAN" accesskey="n" rel="next">CLEAN</a>, Previous: <a href="usermanual.html#SHOWTURTLE" accesskey="p" rel="prev">SHOWTURTLE</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="hideturtle"></a>
+<h4 class="unnumberedsubsec">hideturtle</h4>
+<a name="index-hideturtle"></a>
+<a name="index-ht"></a>
+
+<div class="example">
+<pre class="example">HIDETURTLE
+HT
+</pre></div>
+
+<p>makes the turtle invisible.  It&rsquo;s a good idea to do this while you&rsquo;re in
+the middle of a complicated drawing, because hiding the turtle speeds up
+the drawing substantially.
+</p>
+<hr>
+<a name="CLEAN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CLEARSCREEN" accesskey="n" rel="next">CLEARSCREEN</a>, Previous: <a href="usermanual.html#HIDETURTLE" accesskey="p" rel="prev">HIDETURTLE</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="clean"></a>
+<h4 class="unnumberedsubsec">clean</h4>
+<a name="index-clean"></a>
+
+<div class="example">
+<pre class="example">CLEAN
+</pre></div>
+
+<p>erases all lines that the turtle has drawn on the graphics window.  The
+turtle&rsquo;s state (position, heading, pen mode, etc.) is not changed.
+</p>
+<hr>
+<a name="CLEARSCREEN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#WRAP" accesskey="n" rel="next">WRAP</a>, Previous: <a href="usermanual.html#CLEAN" accesskey="p" rel="prev">CLEAN</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="clearscreen"></a>
+<h4 class="unnumberedsubsec">clearscreen</h4>
+<a name="index-clearscreen"></a>
+<a name="index-cs"></a>
+
+<div class="example">
+<pre class="example">CLEARSCREEN
+CS
+</pre></div>
+
+<p>erases the graphics window and sends the turtle to its initial position
+and heading.  Like <code>HOME</code> and <code>CLEAN</code> together.
+</p>
+<p>See <a href="usermanual.html#HOME">HOME</a> .
+</p>
+<hr>
+<a name="WRAP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#WINDOW" accesskey="n" rel="next">WINDOW</a>, Previous: <a href="usermanual.html#CLEARSCREEN" accesskey="p" rel="prev">CLEARSCREEN</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="wrap"></a>
+<h4 class="unnumberedsubsec">wrap</h4>
+<a name="index-wrap"></a>
+
+<div class="example">
+<pre class="example">WRAP
+</pre></div>
+
+<p>tells the turtle to enter wrap mode:  From now on, if the turtle is
+asked to move past the boundary of the graphics window, it will &quot;wrap
+around&quot; and reappear at the opposite edge of the window.  The top edge
+wraps to the bottom edge, while the left edge wraps to the right edge.
+(So the window is topologically equivalent to a torus.)  This is the
+turtle&rsquo;s initial mode.  Compare <code>WINDOW</code> and <code>FENCE</code>.
+</p>
+<p>See <a href="usermanual.html#FENCE">FENCE</a> .
+</p>
+<hr>
+<a name="WINDOW"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FENCE" accesskey="n" rel="next">FENCE</a>, Previous: <a href="usermanual.html#WRAP" accesskey="p" rel="prev">WRAP</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="window"></a>
+<h4 class="unnumberedsubsec">window</h4>
+<a name="index-window"></a>
+
+<div class="example">
+<pre class="example">WINDOW
+</pre></div>
+
+<p>tells the turtle to enter window mode:  From now on, if the turtle is
+asked to move past the boundary of the graphics window, it will move
+offscreen.  The visible graphics window is considered as just part of an
+infinite graphics plane; the turtle can be anywhere on the plane.  (If
+you lose the turtle, <code>HOME</code> will bring it back to the center of the
+window.)  Compare <code>WRAP</code> and <code>FENCE</code>.
+</p>
+
+<hr>
+<a name="FENCE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FILL" accesskey="n" rel="next">FILL</a>, Previous: <a href="usermanual.html#WINDOW" accesskey="p" rel="prev">WINDOW</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="fence"></a>
+<h4 class="unnumberedsubsec">fence</h4>
+<a name="index-fence"></a>
+
+<div class="example">
+<pre class="example">FENCE
+</pre></div>
+
+<p>tells the turtle to enter fence mode:  From now on, if the turtle is
+asked to move past the boundary of the graphics window, it will move as
+far as it can and then stop at the edge with an &quot;out of bounds&quot; error
+message.  Compare <code>WRAP</code> and <code>WINDOW</code>.
+</p>
+<p>See <a href="usermanual.html#WRAP">WRAP</a> .
+</p>
+<hr>
+<a name="FILL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FILLED" accesskey="n" rel="next">FILLED</a>, Previous: <a href="usermanual.html#FENCE" accesskey="p" rel="prev">FENCE</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="fill"></a>
+<h4 class="unnumberedsubsec">fill</h4>
+<a name="index-fill"></a>
+
+<div class="example">
+<pre class="example">FILL
+</pre></div>
+
+<p>fills in a region of the graphics window containing the turtle and
+bounded by lines that have been drawn earlier.  This is not portable; it
+doesn&rsquo;t work for all machines, and may not work exactly the same way on
+different machines.
+</p>
+<hr>
+<a name="FILLED"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LABEL" accesskey="n" rel="next">LABEL</a>, Previous: <a href="usermanual.html#FILL" accesskey="p" rel="prev">FILL</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="filled"></a>
+<h4 class="unnumberedsubsec">filled</h4>
+<a name="index-filled"></a>
+
+<div class="example">
+<pre class="example">FILLED color instructions
+</pre></div>
+
+<p>runs the instructions, remembering all points visited by turtle
+motion commands, starting <em>and ending</em> with the turtle&rsquo;s initial
+position.  Then draws (ignoring penmode) the resulting polygon,
+in the current pen color, filling the polygon with the given color,
+which can be a color number or an RGB list.  The instruction list
+cannot include another FILLED invocation.  (wxWidgets only)
+</p>
+<hr>
+<a name="LABEL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETLABELHEIGHT" accesskey="n" rel="next">SETLABELHEIGHT</a>, Previous: <a href="usermanual.html#FILLED" accesskey="p" rel="prev">FILLED</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="label"></a>
+<h4 class="unnumberedsubsec">label</h4>
+<a name="index-label"></a>
+
+<div class="example">
+<pre class="example">LABEL text
+</pre></div>
+
+<p>takes a word or list as input, and prints the input on the graphics
+window, starting at the turtle&rsquo;s position.
+</p>
+<hr>
+<a name="SETLABELHEIGHT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TEXTSCREEN" accesskey="n" rel="next">TEXTSCREEN</a>, Previous: <a href="usermanual.html#LABEL" accesskey="p" rel="prev">LABEL</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setlabelheight"></a>
+<h4 class="unnumberedsubsec">setlabelheight</h4>
+<a name="index-setlabelheight"></a>
+
+<div class="example">
+<pre class="example">SETLABELHEIGHT height
+</pre></div>
+
+<p>command (wxWidgets only).  Takes a positive integer argument and tries
+to set the font size so that the character height (including
+descenders) is that many turtle steps.  This will be different from
+the number of screen pixels if <code>SETSCRUNCH</code> has been used.  Also, note
+that <code>SETSCRUNCH</code> changes the font size to try to preserve this height
+in turtle steps.  Note that the query operation corresponding to this
+command is <code>LABELSIZE</code>, not <code>LABELHEIGHT</code>, because it tells you the width
+as well as the height of characters in the current font.
+</p>
+<hr>
+<a name="TEXTSCREEN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FULLSCREEN" accesskey="n" rel="next">FULLSCREEN</a>, Previous: <a href="usermanual.html#SETLABELHEIGHT" accesskey="p" rel="prev">SETLABELHEIGHT</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="textscreen"></a>
+<h4 class="unnumberedsubsec">textscreen</h4>
+<a name="index-textscreen"></a>
+
+<div class="example">
+<pre class="example">TEXTSCREEN
+TS
+</pre></div>
+
+<p>rearranges the size and position of windows to maximize the space
+available in the text window (the window used for interaction with
+Logo).  The details differ among machines.  Compare <code>SPLITSCREEN</code> and
+<code>FULLSCREEN</code>.
+</p>
+<p>See <a href="usermanual.html#SPLITSCREEN">SPLITSCREEN</a> .
+</p>
+<hr>
+<a name="FULLSCREEN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SPLITSCREEN" accesskey="n" rel="next">SPLITSCREEN</a>, Previous: <a href="usermanual.html#TEXTSCREEN" accesskey="p" rel="prev">TEXTSCREEN</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="fullscreen"></a>
+<h4 class="unnumberedsubsec">fullscreen</h4>
+<a name="index-fullscreen"></a>
+<a name="index-fs"></a>
+
+<div class="example">
+<pre class="example">FULLSCREEN
+FS
+</pre></div>
+
+<p>rearranges the size and position of windows to maximize the space
+available in the graphics window.  The details differ among machines.
+Compare <code>SPLITSCREEN</code> and <code>TEXTSCREEN</code>.
+</p>
+<p>Since there must be a text window to allow printing (including the printing of
+the Logo prompt), Logo automatically switches from fullscreen to splitscreen
+whenever anything is printed.
+</p>
+<p>In the DOS version, switching from fullscreen to splitscreen loses the part of
+the picture that&rsquo;s hidden by the text window.  [This design decision follows
+from the scarcity of memory, so that the extra memory to remember an invisible
+part of a drawing seems too expensive.]
+</p>
+<hr>
+<a name="SPLITSCREEN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETSCRUNCH" accesskey="n" rel="next">SETSCRUNCH</a>, Previous: <a href="usermanual.html#FULLSCREEN" accesskey="p" rel="prev">FULLSCREEN</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="splitscreen"></a>
+<h4 class="unnumberedsubsec">splitscreen</h4>
+<a name="index-splitscreen"></a>
+<a name="index-ss"></a>
+
+<div class="example">
+<pre class="example">SPLITSCREEN
+SS
+</pre></div>
+
+<p>rearranges the size and position of windows to allow some room for text
+interaction while also keeping most of the graphics window visible.  The
+details differ among machines.  Compare <code>TEXTSCREEN</code> and <code>FULLSCREEN</code>.
+</p>
+<p>See <a href="usermanual.html#TEXTSCREEN">TEXTSCREEN</a> .
+</p>
+<hr>
+<a name="SETSCRUNCH"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#REFRESH" accesskey="n" rel="next">REFRESH</a>, Previous: <a href="usermanual.html#SPLITSCREEN" accesskey="p" rel="prev">SPLITSCREEN</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setscrunch"></a>
+<h4 class="unnumberedsubsec">setscrunch</h4>
+<a name="index-setscrunch"></a>
+<a name="index-scrunch_002edat"></a>
+
+<div class="example">
+<pre class="example">SETSCRUNCH xscale yscale
+</pre></div>
+
+<p>adjusts the aspect ratio and scaling of the graphics display.  After
+this command is used, all further turtle motion will be adjusted by
+multiplying the horizontal and vertical extent of the motion by the two
+numbers given as inputs.  For example, after the instruction
+<tt>SETSCRUNCH&nbsp;2&nbsp;1</tt><!-- /@w --> motion at a heading of 45 degrees will move twice
+as far horizontally as vertically.  If your squares don&rsquo;t come out
+square, try this.  (Alternatively, you can deliberately misadjust the
+aspect ratio to draw an ellipse.)
+</p>
+<p>For all modern computers, both scale factors are initially 1.
+For DOS machines, the scale factors are initially set according to what
+the hardware claims the aspect ratio is, but the hardware sometimes
+lies.  For DOS, the values set by <code>SETSCRUNCH</code> are remembered in a file (called
+<samp>scrunch.dat</samp>) and are automatically put into effect when a Logo session
+begins.
+</p>
+<hr>
+<a name="REFRESH"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#NOREFRESH" accesskey="n" rel="next">NOREFRESH</a>, Previous: <a href="usermanual.html#SETSCRUNCH" accesskey="p" rel="prev">SETSCRUNCH</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="refresh"></a>
+<h4 class="unnumberedsubsec">refresh</h4>
+<a name="index-refresh"></a>
+
+<div class="example">
+<pre class="example">REFRESH
+</pre></div>
+
+<p>(command) tells Logo to remember the turtle&rsquo;s motions so that they
+can be used for high-resolution printing (wxWidgets) or to refresh
+the graphics window if it is moved, resized, or overlayed
+(non-wxWidgets).  This is the default.
+</p>
+<hr>
+<a name="NOREFRESH"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#REFRESH" accesskey="p" rel="prev">REFRESH</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="u" rel="up">TURTLE AND WINDOW CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="norefresh"></a>
+<h4 class="unnumberedsubsec">norefresh</h4>
+<a name="index-norefresh"></a>
+
+<div class="example">
+<pre class="example">NOREFRESH
+</pre></div>
+
+<p>(command) tells Logo not to remember the turtle&rsquo;s motions, which may
+be useful to save time and memory if your program is interactive or
+animated, rather than drawing a static picture you&rsquo;ll want to print
+later (wxWidgets).  In non-wxWidgets versions, using NOREFRESH may
+prevent Logo from restoring the graphics image after the window is
+moved, resized, or overlayed.
+</p>
+
+<hr>
+<a name="TURTLE-AND-WINDOW-QUERIES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="n" rel="next">PEN AND BACKGROUND CONTROL</a>, Previous: <a href="usermanual.html#TURTLE-AND-WINDOW-CONTROL" accesskey="p" rel="prev">TURTLE AND WINDOW CONTROL</a>, Up: <a href="usermanual.html#GRAPHICS" accesskey="u" rel="up">GRAPHICS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Turtle-and-Window-Queries"></a>
+<h3 class="section">7.4 Turtle and Window Queries</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SHOWNP" accesskey="1">SHOWNP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SCREENMODE" accesskey="2">SCREENMODE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TURTLEMODE" accesskey="3">TURTLEMODE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LABELSIZE" accesskey="4">LABELSIZE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="SHOWNP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SCREENMODE" accesskey="n" rel="next">SCREENMODE</a>, Previous: <a href="usermanual.html#TURTLE-AND-WINDOW-QUERIES" accesskey="p" rel="prev">TURTLE AND WINDOW QUERIES</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-QUERIES" accesskey="u" rel="up">TURTLE AND WINDOW QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="shownp"></a>
+<h4 class="unnumberedsubsec">shownp</h4>
+<a name="index-shownp"></a>
+<a name="index-shown_003f"></a>
+
+<div class="example">
+<pre class="example">SHOWNP
+SHOWN?
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the turtle is shown (visible), <code>FALSE</code> if the turtle is
+hidden.  See <code>SHOWTURTLE</code> and <code>HIDETURTLE</code>.
+</p>
+<p>See <a href="usermanual.html#SHOWTURTLE">SHOWTURTLE</a> ,
+<a href="usermanual.html#HIDETURTLE">HIDETURTLE</a> .
+</p>
+
+<hr>
+<a name="SCREENMODE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TURTLEMODE" accesskey="n" rel="next">TURTLEMODE</a>, Previous: <a href="usermanual.html#SHOWNP" accesskey="p" rel="prev">SHOWNP</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-QUERIES" accesskey="u" rel="up">TURTLE AND WINDOW QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="screenmode"></a>
+<h4 class="unnumberedsubsec">screenmode</h4>
+<a name="index-screenmode"></a>
+
+<div class="example">
+<pre class="example">SCREENMODE
+</pre></div>
+
+<p>outputs the word <code>TEXTSCREEN</code>, <code>SPLITSCREEN</code>, or <code>FULLSCREEN</code> depending
+on the current screen mode.
+</p>
+<hr>
+<a name="TURTLEMODE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LABELSIZE" accesskey="n" rel="next">LABELSIZE</a>, Previous: <a href="usermanual.html#SCREENMODE" accesskey="p" rel="prev">SCREENMODE</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-QUERIES" accesskey="u" rel="up">TURTLE AND WINDOW QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="turtlemode"></a>
+<h4 class="unnumberedsubsec">turtlemode</h4>
+<a name="index-turtlemode"></a>
+
+<div class="example">
+<pre class="example">TURTLEMODE
+</pre></div>
+
+<p>outputs the word <code>WRAP</code>, <code>FENCE</code>, or <code>WINDOW</code> depending on the current
+turtle mode.
+</p>
+<hr>
+<a name="LABELSIZE"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#TURTLEMODE" accesskey="p" rel="prev">TURTLEMODE</a>, Up: <a href="usermanual.html#TURTLE-AND-WINDOW-QUERIES" accesskey="u" rel="up">TURTLE AND WINDOW QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="labelsize"></a>
+<h4 class="unnumberedsubsec">labelsize</h4>
+<a name="index-labelsize"></a>
+
+<div class="example">
+<pre class="example">LABELSIZE
+</pre></div>
+
+<p>(wxWidgets only) outputs a list of two positive integers, the width
+and height of characters displayed by <code>LABEL</code> measured in turtle steps
+(which will be different from screen pixels if <code>SETSCRUNCH</code> has been
+used).  There is no <code>SETLABELSIZE</code> because the width and height of a
+font are not separately controllable, so the inverse of this operation
+is <code>SETLABELHEIGHT</code>, which takes just one number for the desired height.
+</p>
+
+
+<hr>
+<a name="PEN-AND-BACKGROUND-CONTROL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PEN-QUERIES" accesskey="n" rel="next">PEN QUERIES</a>, Previous: <a href="usermanual.html#TURTLE-AND-WINDOW-QUERIES" accesskey="p" rel="prev">TURTLE AND WINDOW QUERIES</a>, Up: <a href="usermanual.html#GRAPHICS" accesskey="u" rel="up">GRAPHICS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Pen-and-Background-Control"></a>
+<h3 class="section">7.5 Pen and Background Control</h3>
+
+<p>The turtle carries a pen that can draw pictures.  At any time the pen
+can be UP (in which case moving the turtle does not change what&rsquo;s on the
+graphics screen) or DOWN (in which case the turtle leaves a trace).
+If the pen is down, it can operate in one of three modes: PAINT (so that it
+draws lines when the turtle moves), ERASE (so that it erases any lines
+that might have been drawn on or through that path earlier), or REVERSE
+(so that it inverts the status of each point along the turtle&rsquo;s path).
+</p>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PENDOWN" accesskey="1">PENDOWN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PENUP" accesskey="2">PENUP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PENPAINT" accesskey="3">PENPAINT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PENERASE" accesskey="4">PENERASE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PENREVERSE" accesskey="5">PENREVERSE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETPENCOLOR" accesskey="6">SETPENCOLOR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETPALETTE" accesskey="7">SETPALETTE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETPENSIZE" accesskey="8">SETPENSIZE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETPENPATTERN" accesskey="9">SETPENPATTERN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETPEN">SETPEN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETBACKGROUND">SETBACKGROUND</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="PENDOWN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PENUP" accesskey="n" rel="next">PENUP</a>, Previous: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="p" rel="prev">PEN AND BACKGROUND CONTROL</a>, Up: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="u" rel="up">PEN AND BACKGROUND CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pendown"></a>
+<h4 class="unnumberedsubsec">pendown</h4>
+<a name="index-pendown"></a>
+<a name="index-pd"></a>
+
+<div class="example">
+<pre class="example">PENDOWN
+PD
+</pre></div>
+
+<p>sets the pen&rsquo;s position to <code>DOWN</code>, without changing its mode.
+</p>
+<hr>
+<a name="PENUP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PENPAINT" accesskey="n" rel="next">PENPAINT</a>, Previous: <a href="usermanual.html#PENDOWN" accesskey="p" rel="prev">PENDOWN</a>, Up: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="u" rel="up">PEN AND BACKGROUND CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="penup"></a>
+<h4 class="unnumberedsubsec">penup</h4>
+<a name="index-penup"></a>
+<a name="index-pu"></a>
+
+<div class="example">
+<pre class="example">PENUP
+PU
+</pre></div>
+
+<p>sets the pen&rsquo;s position to <code>UP</code>, without changing its mode.
+</p>
+<hr>
+<a name="PENPAINT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PENERASE" accesskey="n" rel="next">PENERASE</a>, Previous: <a href="usermanual.html#PENUP" accesskey="p" rel="prev">PENUP</a>, Up: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="u" rel="up">PEN AND BACKGROUND CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="penpaint"></a>
+<h4 class="unnumberedsubsec">penpaint</h4>
+<a name="index-penpaint"></a>
+<a name="index-ppt"></a>
+
+<div class="example">
+<pre class="example">PENPAINT
+PPT
+</pre></div>
+
+<p>sets the pen&rsquo;s position to <code>DOWN</code> and mode to <code>PAINT</code>.
+</p>
+<hr>
+<a name="PENERASE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PENREVERSE" accesskey="n" rel="next">PENREVERSE</a>, Previous: <a href="usermanual.html#PENPAINT" accesskey="p" rel="prev">PENPAINT</a>, Up: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="u" rel="up">PEN AND BACKGROUND CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="penerase"></a>
+<h4 class="unnumberedsubsec">penerase</h4>
+<a name="index-penerase"></a>
+<a name="index-pe"></a>
+
+<div class="example">
+<pre class="example">PENERASE
+PE
+</pre></div>
+
+<p>sets the pen&rsquo;s position to <code>DOWN</code> and mode to <code>ERASE</code>.
+</p>
+<hr>
+<a name="PENREVERSE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETPENCOLOR" accesskey="n" rel="next">SETPENCOLOR</a>, Previous: <a href="usermanual.html#PENERASE" accesskey="p" rel="prev">PENERASE</a>, Up: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="u" rel="up">PEN AND BACKGROUND CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="penreverse"></a>
+<h4 class="unnumberedsubsec">penreverse</h4>
+<a name="index-penreverse"></a>
+<a name="index-px"></a>
+
+<div class="example">
+<pre class="example">PENREVERSE
+PX
+</pre></div>
+
+<p>sets the pen&rsquo;s position to <code>DOWN</code> and mode to <code>REVERSE</code>.  (This may interact
+in system-dependent ways with use of color.)
+</p>
+<hr>
+<a name="SETPENCOLOR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETPALETTE" accesskey="n" rel="next">SETPALETTE</a>, Previous: <a href="usermanual.html#PENREVERSE" accesskey="p" rel="prev">PENREVERSE</a>, Up: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="u" rel="up">PEN AND BACKGROUND CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setpencolor"></a>
+<h4 class="unnumberedsubsec">setpencolor</h4>
+<a name="index-setpencolor"></a>
+<a name="index-setpc"></a>
+
+<div class="example">
+<pre class="example">SETPENCOLOR colornumber.or.rgblist
+SETPC colornumber.or.rgblist
+</pre></div>
+
+<p>sets the pen color to the given number, which must be a nonnegative
+integer.  There are initial assignments for the first 16 colors:
+</p>
+<div class="example">
+<pre class="example"> 0  black	 1  blue	 2  green	 3  cyan
+ 4  red		 5  magenta	 6  yellow	 7 white
+ 8  brown	 9  tan		10  forest	11  aqua
+12  salmon	13  purple	14  orange	15  grey
+</pre></div>
+
+<p>but other colors can be assigned to numbers by the <code>PALETTE</code> command.
+Alternatively, sets the pen color to the given RGB values (a list of
+three nonnegative numbers less than 100 specifying the percent saturation
+of red, green, and blue in the desired color).
+</p>
+<hr>
+<a name="SETPALETTE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETPENSIZE" accesskey="n" rel="next">SETPENSIZE</a>, Previous: <a href="usermanual.html#SETPENCOLOR" accesskey="p" rel="prev">SETPENCOLOR</a>, Up: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="u" rel="up">PEN AND BACKGROUND CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setpalette"></a>
+<h4 class="unnumberedsubsec">setpalette</h4>
+<a name="index-setpalette"></a>
+
+<div class="example">
+<pre class="example">SETPALETTE colornumber rgblist
+</pre></div>
+
+<p>sets the actual color corresponding to a given number, if allowed by the
+hardware and operating system.  Colornumber must be an integer greater than or
+equal to 8.  (Logo tries to keep the first 8 colors constant.)  The second
+input is a list of three nonnegative numbers less than 100 specifying the
+percent saturation of red, green, and blue in the desired color.
+</p>
+<hr>
+<a name="SETPENSIZE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETPENPATTERN" accesskey="n" rel="next">SETPENPATTERN</a>, Previous: <a href="usermanual.html#SETPALETTE" accesskey="p" rel="prev">SETPALETTE</a>, Up: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="u" rel="up">PEN AND BACKGROUND CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setpensize"></a>
+<h4 class="unnumberedsubsec">setpensize</h4>
+<a name="index-setpensize"></a>
+
+<div class="example">
+<pre class="example">SETPENSIZE size
+</pre></div>
+
+<p>sets the thickness of the pen.  The input is either a single positive
+integer or a list of two positive integers (for horizontal and
+vertical thickness).  Some versions pay no attention to the second
+number, but always have a square pen.
+</p>
+<hr>
+<a name="SETPENPATTERN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETPEN" accesskey="n" rel="next">SETPEN</a>, Previous: <a href="usermanual.html#SETPENSIZE" accesskey="p" rel="prev">SETPENSIZE</a>, Up: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="u" rel="up">PEN AND BACKGROUND CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setpenpattern"></a>
+<h4 class="unnumberedsubsec">setpenpattern</h4>
+<a name="index-setpenpattern"></a>
+
+<div class="example">
+<pre class="example">SETPENPATTERN pattern
+</pre></div>
+
+<p>sets hardware-dependent pen characteristics.  This command is not
+guaranteed compatible between implementations on different machines.
+</p>
+<hr>
+<a name="SETPEN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETBACKGROUND" accesskey="n" rel="next">SETBACKGROUND</a>, Previous: <a href="usermanual.html#SETPENPATTERN" accesskey="p" rel="prev">SETPENPATTERN</a>, Up: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="u" rel="up">PEN AND BACKGROUND CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setpen"></a>
+<h4 class="unnumberedsubsec">setpen</h4>
+<a name="index-setpen"></a>
+
+<div class="example">
+<pre class="example">SETPEN list					(library procedure)
+</pre></div>
+
+<p>sets the pen&rsquo;s position, mode, thickness, and hardware-dependent
+characteristics according to the information in the input list, which should
+be taken from an earlier invocation of <code>PEN</code>.
+</p>
+<p>See <a href="usermanual.html#PEN">PEN</a> .
+</p>
+<hr>
+<a name="SETBACKGROUND"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#SETPEN" accesskey="p" rel="prev">SETPEN</a>, Up: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="u" rel="up">PEN AND BACKGROUND CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setbackground"></a>
+<h4 class="unnumberedsubsec">setbackground</h4>
+<a name="index-setbackground"></a>
+<a name="index-setbg"></a>
+
+<div class="example">
+<pre class="example">SETBACKGROUND colornumber.or.rgblist
+SETBG colornumber.or.rgblist
+</pre></div>
+
+<p>set the screen background color by slot number or RGB values.
+See <code>SETPENCOLOR</code> for details.
+</p>
+<p>See <a href="usermanual.html#SETPENCOLOR">SETPENCOLOR</a> .
+</p>
+<hr>
+<a name="PEN-QUERIES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SAVING-AND-LOADING-PICTURES" accesskey="n" rel="next">SAVING AND LOADING PICTURES</a>, Previous: <a href="usermanual.html#PEN-AND-BACKGROUND-CONTROL" accesskey="p" rel="prev">PEN AND BACKGROUND CONTROL</a>, Up: <a href="usermanual.html#GRAPHICS" accesskey="u" rel="up">GRAPHICS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Pen-Queries"></a>
+<h3 class="section">7.6 Pen Queries</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PENDOWNP" accesskey="1">PENDOWNP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PENMODE" accesskey="2">PENMODE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PENCOLOR" accesskey="3">PENCOLOR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PALETTE" accesskey="4">PALETTE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PENSIZE" accesskey="5">PENSIZE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PEN" accesskey="6">PEN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BACKGROUND" accesskey="7">BACKGROUND</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="PENDOWNP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PENMODE" accesskey="n" rel="next">PENMODE</a>, Previous: <a href="usermanual.html#PEN-QUERIES" accesskey="p" rel="prev">PEN QUERIES</a>, Up: <a href="usermanual.html#PEN-QUERIES" accesskey="u" rel="up">PEN QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pendownp"></a>
+<h4 class="unnumberedsubsec">pendownp</h4>
+<a name="index-pendownp"></a>
+<a name="index-pendown_003f"></a>
+
+<div class="example">
+<pre class="example">PENDOWNP
+PENDOWN?
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the pen is down, <code>FALSE</code> if it&rsquo;s up.
+</p>
+<hr>
+<a name="PENMODE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PENCOLOR" accesskey="n" rel="next">PENCOLOR</a>, Previous: <a href="usermanual.html#PENDOWNP" accesskey="p" rel="prev">PENDOWNP</a>, Up: <a href="usermanual.html#PEN-QUERIES" accesskey="u" rel="up">PEN QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="penmode"></a>
+<h4 class="unnumberedsubsec">penmode</h4>
+<a name="index-penmode"></a>
+
+<div class="example">
+<pre class="example">PENMODE
+</pre></div>
+
+<p>outputs one of the words <code>PAINT</code>, <code>ERASE</code>, or <code>REVERSE</code> according to the
+current pen mode.
+</p>
+<hr>
+<a name="PENCOLOR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PALETTE" accesskey="n" rel="next">PALETTE</a>, Previous: <a href="usermanual.html#PENMODE" accesskey="p" rel="prev">PENMODE</a>, Up: <a href="usermanual.html#PEN-QUERIES" accesskey="u" rel="up">PEN QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pencolor"></a>
+<h4 class="unnumberedsubsec">pencolor</h4>
+<a name="index-pencolor"></a>
+<a name="index-pc"></a>
+
+<div class="example">
+<pre class="example">PENCOLOR
+PC
+</pre></div>
+
+<p>outputs a color number, a nonnegative integer that is associated with
+a particular color, or a list of RGB values if such a list was used as
+the most recent input to <code>SETPENCOLOR</code>.  There are initial assignments
+for the first 16 colors:
+</p>
+<div class="example">
+<pre class="example"> 0  black        1  blue         2  green        3  cyan
+ 4  red          5  magenta      6  yellow       7 white
+ 8  brown        9  tan         10  forest      11  aqua
+12  salmon      13  purple      14  orange      15  grey
+</pre></div>
+
+<p>but other colors can be assigned to numbers by the <code>PALETTE</code> command.
+</p>
+<hr>
+<a name="PALETTE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PENSIZE" accesskey="n" rel="next">PENSIZE</a>, Previous: <a href="usermanual.html#PENCOLOR" accesskey="p" rel="prev">PENCOLOR</a>, Up: <a href="usermanual.html#PEN-QUERIES" accesskey="u" rel="up">PEN QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="palette"></a>
+<h4 class="unnumberedsubsec">palette</h4>
+<a name="index-palette"></a>
+
+<div class="example">
+<pre class="example">PALETTE colornumber
+</pre></div>
+
+<p>outputs a list of three nonnegative numbers less than 100 specifying the
+percent saturation of red, green, and blue in the color associated with the
+given number.
+</p>
+<hr>
+<a name="PENSIZE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PEN" accesskey="n" rel="next">PEN</a>, Previous: <a href="usermanual.html#PALETTE" accesskey="p" rel="prev">PALETTE</a>, Up: <a href="usermanual.html#PEN-QUERIES" accesskey="u" rel="up">PEN QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pensize"></a>
+<h4 class="unnumberedsubsec">pensize</h4>
+<a name="index-pensize"></a>
+<a name="index-penpattern"></a>
+
+<div class="example">
+<pre class="example">PENSIZE
+</pre></div>
+
+<p>outputs a list of two positive integers, specifying the horizontal
+and vertical thickness of the turtle pen.  (In some implementations,
+including wxWidgets, the two numbers are always equal.)
+</p>
+<div class="example">
+<pre class="example">PENPATTERN
+</pre></div>
+
+<p>outputs system-specific pen information.
+</p>
+<hr>
+<a name="PEN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BACKGROUND" accesskey="n" rel="next">BACKGROUND</a>, Previous: <a href="usermanual.html#PENSIZE" accesskey="p" rel="prev">PENSIZE</a>, Up: <a href="usermanual.html#PEN-QUERIES" accesskey="u" rel="up">PEN QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pen"></a>
+<h4 class="unnumberedsubsec">pen</h4>
+<a name="index-pen"></a>
+
+<div class="example">
+<pre class="example">PEN						(library procedure)
+</pre></div>
+
+<p>outputs a list containing the pen&rsquo;s position, mode, thickness, and
+hardware-specific characteristics, for use by <code>SETPEN</code>.
+</p>
+<p>See <a href="usermanual.html#SETPEN">SETPEN</a> .
+</p>
+<hr>
+<a name="BACKGROUND"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#PEN" accesskey="p" rel="prev">PEN</a>, Up: <a href="usermanual.html#PEN-QUERIES" accesskey="u" rel="up">PEN QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="background"></a>
+<h4 class="unnumberedsubsec">background</h4>
+<a name="index-background"></a>
+<a name="index-bg"></a>
+
+<div class="example">
+<pre class="example">BACKGROUND
+BG
+</pre></div>
+
+<p>outputs the graphics background color, either as a slot number or
+as an RGB list, whichever way it was set.  (See <code>PENCOLOR</code>.)
+</p>
+<hr>
+<a name="SAVING-AND-LOADING-PICTURES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MOUSE-QUERIES" accesskey="n" rel="next">MOUSE QUERIES</a>, Previous: <a href="usermanual.html#PEN-QUERIES" accesskey="p" rel="prev">PEN QUERIES</a>, Up: <a href="usermanual.html#GRAPHICS" accesskey="u" rel="up">GRAPHICS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Saving-and-Loading-Pictures"></a>
+<h3 class="section">7.7 Saving and Loading Pictures</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SAVEPICT" accesskey="1">SAVEPICT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOADPICT" accesskey="2">LOADPICT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EPSPICT" accesskey="3">EPSPICT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="SAVEPICT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LOADPICT" accesskey="n" rel="next">LOADPICT</a>, Previous: <a href="usermanual.html#SAVING-AND-LOADING-PICTURES" accesskey="p" rel="prev">SAVING AND LOADING PICTURES</a>, Up: <a href="usermanual.html#SAVING-AND-LOADING-PICTURES" accesskey="u" rel="up">SAVING AND LOADING PICTURES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="savepict"></a>
+<h4 class="unnumberedsubsec">savepict</h4>
+<a name="index-savepict"></a>
+
+<div class="example">
+<pre class="example">SAVEPICT filename
+</pre></div>
+
+<p>command.  Writes a file with the specified name containing the state of
+the graphics window, including any nonstandard color palette settings,
+in Logo&rsquo;s internal format.  This picture can be restored to the screen
+using <code>LOADPICT</code>.  The format is not portable between platforms, nor is it
+readable by other programs.  <a href="usermanual.html#EPSPICT">EPSPICT</a> to export Logo graphics for
+other programs.
+</p>
+
+<hr>
+<a name="LOADPICT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EPSPICT" accesskey="n" rel="next">EPSPICT</a>, Previous: <a href="usermanual.html#SAVEPICT" accesskey="p" rel="prev">SAVEPICT</a>, Up: <a href="usermanual.html#SAVING-AND-LOADING-PICTURES" accesskey="u" rel="up">SAVING AND LOADING PICTURES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="loadpict"></a>
+<h4 class="unnumberedsubsec">loadpict</h4>
+<a name="index-loadpict"></a>
+
+<div class="example">
+<pre class="example">LOADPICT filename
+</pre></div>
+
+<p>command.  Reads the specified file, which must have been written by a
+<code>SAVEPICT</code> command, and restores the graphics window and color palette
+settings to the values stored in the file.  Any drawing previously on
+the screen is cleared.
+</p>
+<p>See <a href="usermanual.html#SAVEPICT">SAVEPICT</a> .
+</p>
+
+<hr>
+<a name="EPSPICT"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#LOADPICT" accesskey="p" rel="prev">LOADPICT</a>, Up: <a href="usermanual.html#SAVING-AND-LOADING-PICTURES" accesskey="u" rel="up">SAVING AND LOADING PICTURES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="epspict"></a>
+<h4 class="unnumberedsubsec">epspict</h4>
+<a name="index-epspict"></a>
+
+<div class="example">
+<pre class="example">EPSPICT filename
+</pre></div>
+
+<p>command.  Writes a file with the specified name, containing an
+Encapsulated Postscript (EPS) representation of the state of the
+graphics window.  This file can be imported into other programs that
+understand EPS format.  Restrictions: the drawing cannot use <code>FILL</code>,
+<code>PENERASE</code>, or <code>PENREVERSE</code>; any such instructions will be ignored in the
+translation to Postscript form.
+</p>
+
+<hr>
+<a name="MOUSE-QUERIES"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#SAVING-AND-LOADING-PICTURES" accesskey="p" rel="prev">SAVING AND LOADING PICTURES</a>, Up: <a href="usermanual.html#GRAPHICS" accesskey="u" rel="up">GRAPHICS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Mouse-Queries"></a>
+<h3 class="section">7.8 Mouse Queries</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MOUSEPOS" accesskey="1">MOUSEPOS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CLICKPOS" accesskey="2">CLICKPOS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BUTTONP" accesskey="3">BUTTONP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BUTTON" accesskey="4">BUTTON</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="MOUSEPOS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CLICKPOS" accesskey="n" rel="next">CLICKPOS</a>, Previous: <a href="usermanual.html#MOUSE-QUERIES" accesskey="p" rel="prev">MOUSE QUERIES</a>, Up: <a href="usermanual.html#MOUSE-QUERIES" accesskey="u" rel="up">MOUSE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="mousepos"></a>
+<h4 class="unnumberedsubsec">mousepos</h4>
+<a name="index-mousepos"></a>
+
+<div class="example">
+<pre class="example">MOUSEPOS
+</pre></div>
+
+<p>outputs the coordinates of the mouse, provided that it&rsquo;s within the
+graphics window, in turtle coordinates.  If the mouse is outside the
+graphics window, then the last position within the window is returned.
+Exception:  If a mouse button is pressed within the graphics window
+and held while the mouse is dragged outside the window, the mouse&rsquo;s
+position is returned as if the window were big enough to include it.
+</p>
+<hr>
+<a name="CLICKPOS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BUTTONP" accesskey="n" rel="next">BUTTONP</a>, Previous: <a href="usermanual.html#MOUSEPOS" accesskey="p" rel="prev">MOUSEPOS</a>, Up: <a href="usermanual.html#MOUSE-QUERIES" accesskey="u" rel="up">MOUSE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="clickpos"></a>
+<h4 class="unnumberedsubsec">clickpos</h4>
+<a name="index-clickpos"></a>
+
+<div class="example">
+<pre class="example">CLICKPOS
+</pre></div>
+
+<p>outputs the coordinates that the mouse was at when a mouse button
+was most recently pushed, provided that that position was within the
+graphics window, in turtle coordinates.  (wxWidgets only)
+</p>
+<hr>
+<a name="BUTTONP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BUTTON" accesskey="n" rel="next">BUTTON</a>, Previous: <a href="usermanual.html#CLICKPOS" accesskey="p" rel="prev">CLICKPOS</a>, Up: <a href="usermanual.html#MOUSE-QUERIES" accesskey="u" rel="up">MOUSE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="buttonp"></a>
+<h4 class="unnumberedsubsec">buttonp</h4>
+<a name="index-buttonp"></a>
+<a name="index-button_003f"></a>
+
+<div class="example">
+<pre class="example">BUTTONP
+BUTTON?
+</pre></div>
+
+<p>outputs <code>TRUE</code> if a mouse button is down and the mouse is over the
+graphics window.  Once the button is down, <code>BUTTONP</code> remains true until
+the button is released, even if the mouse is dragged out of the
+graphics window.
+</p>
+<hr>
+<a name="BUTTON"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#BUTTONP" accesskey="p" rel="prev">BUTTONP</a>, Up: <a href="usermanual.html#MOUSE-QUERIES" accesskey="u" rel="up">MOUSE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="button"></a>
+<h4 class="unnumberedsubsec">button</h4>
+<a name="index-button"></a>
+
+<div class="example">
+<pre class="example">BUTTON
+</pre></div>
+
+<p>outputs 0 if no mouse button has been pushed inside the Logo window
+since the last call to <code>BUTTON</code>.  Otherwise, it outputs an integer
+between 1 and 3 indicating which button was most recently pressed.
+Ordinarily 1 means left, 2 means right, and 3 means center, but
+operating systems may reconfigure these.
+</p>
+<hr>
+<a name="WORKSPACE-MANAGEMENT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CONTROL-STRUCTURES" accesskey="n" rel="next">CONTROL STRUCTURES</a>, Previous: <a href="usermanual.html#GRAPHICS" accesskey="p" rel="prev">GRAPHICS</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Workspace-Management"></a>
+<h2 class="chapter">8 Workspace Management</h2>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PROCEDURE-DEFINITION" accesskey="1">PROCEDURE DEFINITION</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#VARIABLE-DEFINITION" accesskey="2">VARIABLE DEFINITION</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PROPERTY-LISTS" accesskey="3">PROPERTY LISTS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WORKSPACE-PREDICATES" accesskey="4">WORKSPACE PREDICATES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="5">WORKSPACE QUERIES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="6">WORKSPACE INSPECTION</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="7">WORKSPACE CONTROL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="PROCEDURE-DEFINITION"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#VARIABLE-DEFINITION" accesskey="n" rel="next">VARIABLE DEFINITION</a>, Previous: <a href="usermanual.html#WORKSPACE-MANAGEMENT" accesskey="p" rel="prev">WORKSPACE MANAGEMENT</a>, Up: <a href="usermanual.html#WORKSPACE-MANAGEMENT" accesskey="u" rel="up">WORKSPACE MANAGEMENT</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Procedure-Definition"></a>
+<h3 class="section">8.1 Procedure Definition</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TO" accesskey="1">TO</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#DEFINE" accesskey="2">DEFINE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TEXT" accesskey="3">TEXT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FULLTEXT" accesskey="4">FULLTEXT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#COPYDEF" accesskey="5">COPYDEF</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="TO"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#DEFINE" accesskey="n" rel="next">DEFINE</a>, Previous: <a href="usermanual.html#PROCEDURE-DEFINITION" accesskey="p" rel="prev">PROCEDURE DEFINITION</a>, Up: <a href="usermanual.html#PROCEDURE-DEFINITION" accesskey="u" rel="up">PROCEDURE DEFINITION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="to"></a>
+<h4 class="unnumberedsubsec">to</h4>
+<a name="index-to"></a>
+
+<div class="example">
+<pre class="example">TO procname :input1 :input2 ...			(special form)
+</pre></div>
+
+<p>command.  Prepares Logo to accept a procedure definition.  The procedure
+will be named <var>procname</var> and there must not already be a procedure by
+that name.  The inputs will be called <var>input1</var> etc.  Any number of
+inputs are allowed, including none.  Names of procedures and inputs are
+case-insensitive.
+</p>
+<p>Unlike every other Logo procedure, TO takes as its inputs the actual
+words typed in the instruction line, as if they were all quoted, rather
+than the results of evaluating expressions to provide the inputs.
+(That&rsquo;s what <em>special form</em> means.)
+</p>
+<p>This version of Logo allows variable numbers of inputs to a procedure.
+After the procedure name come four kinds of things, <em>in this order</em>:
+</p>
+<div class="example">
+<pre class="example">    1.   0 or more REQUIRED inputs    :FOO :FROBOZZ
+    2.   0 or more OPTIONAL inputs    [:BAZ 87] [:THINGO 5+9]
+    3.   0 or 1 REST input            [:GARPLY]
+    4.   0 or 1 DEFAULT number        5
+</pre></div>
+
+<p>Every procedure has a <var>minimum</var>, <var>default</var>, and <var>maximum</var> number of inputs.
+(The latter can be infinite.)
+</p>
+<p>The <var>minimum</var> number of inputs is the number of required inputs, which
+must come first.  A required input is indicated by the
+</p>
+<div class="example">
+<pre class="example">:inputname
+</pre></div>
+
+<p>notation.
+</p>
+<p>After all the required inputs can be zero or more optional inputs,
+each of which is represented by the following notation:
+</p>
+<div class="example">
+<pre class="example">[:inputname default.value.expression]
+</pre></div>
+
+<p>When the procedure is invoked, if actual inputs are not supplied for
+these optional inputs, the <var>default value expression</var>s are evaluated to
+set values for the corresponding input names.  The inputs are processed
+from left to right, so a default value expression can be based on
+earlier inputs.  Example:
+</p>
+<div class="example">
+<pre class="example">to proc :inlist [:startvalue first :inlist]
+</pre></div>
+
+<p>If the procedure is invoked by saying
+</p>
+<div class="example">
+<pre class="example">proc [a b c]
+</pre></div>
+
+<p>then the variable <code>inlist</code> will have the value <tt>[A&nbsp;B&nbsp;C]</tt><!-- /@w --> and the
+variable <code>startvalue</code> will have the value <tt>A</tt>.  If the procedure is invoked
+by saying
+</p>
+<div class="example">
+<pre class="example">(proc [a b c] &quot;x)
+</pre></div>
+
+<p>then <code>inlist</code> will have the value <tt>[A&nbsp;B&nbsp;C]</tt><!-- /@w --> and <code>startvalue</code>
+will have the value <tt>X</tt>.
+</p>
+<p>After all the required and optional input can come a single <em>rest</em>
+input, represented by the following notation:
+</p>
+<div class="example">
+<pre class="example">[:inputname]
+</pre></div>
+
+<p>This is a rest input rather than an optional input because there is no
+default value expression.  There can be at most one rest input.  When
+the procedure is invoked, the value of this <var>inputname</var> will be a list
+containing all of the actual inputs provided that were not used for
+required or optional inputs.  Example:
+</p>
+<div class="example">
+<pre class="example">to proc :in1 [:in2 &quot;foo] [:in3 &quot;baz] [:in4]
+</pre></div>
+
+<p>If this procedure is invoked by saying
+</p>
+<div class="example">
+<pre class="example">proc &quot;x
+</pre></div>
+
+<p>then <code>in1</code> has the value <tt>X</tt>, <code>in2</code> has the value <tt>FOO</tt>,
+<code>in3</code> has the value <tt>BAZ</tt>, and <code>in4</code> has the value <tt>[]</tt> (the
+empty list).  If it&rsquo;s invoked by saying
+</p>
+<div class="example">
+<pre class="example">(proc &quot;a &quot;b &quot;c &quot;d &quot;e)
+</pre></div>
+
+<p>then <code>in1</code> has the value <tt>A</tt>, <code>in2</code> has the value <tt>B</tt>,
+<code>in3</code> has the value <tt>C</tt>, and <code>in4</code> has the value <tt>[D&nbsp;E]</tt><!-- /@w -->.
+</p>
+<p>The <em>maximum</em> number of inputs for a procedure is infinite if a rest input
+is given; otherwise, it is the number of required inputs plus the number
+of optional inputs.
+</p>
+<p>The <em>default</em> number of inputs for a procedure, which is the number of
+inputs that it will accept if its invocation is not enclosed in
+parentheses, is ordinarily equal to the minimum number.  If you want a
+different default number you can indicate that by putting the desired
+default number as the last thing on the <code>TO</code> line.  example:
+</p>
+<div class="example">
+<pre class="example">to proc :in1 [:in2 &quot;foo] [:in3] 3
+</pre></div>
+
+<p>This procedure has a minimum of one input, a default of three inputs,
+and an infinite maximum.
+</p>
+<p>Logo responds to the <code>TO</code> command by entering procedure definition mode.
+The prompt character changes from <code>?</code> to <code>&gt;</code> and whatever instructions you type become part of the definition until you type a line containing
+only the word <code>END</code>.
+</p>
+<hr>
+<a name="DEFINE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TEXT" accesskey="n" rel="next">TEXT</a>, Previous: <a href="usermanual.html#TO" accesskey="p" rel="prev">TO</a>, Up: <a href="usermanual.html#PROCEDURE-DEFINITION" accesskey="u" rel="up">PROCEDURE DEFINITION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="define"></a>
+<h4 class="unnumberedsubsec">define</h4>
+<a name="index-define"></a>
+
+<div class="example">
+<pre class="example">DEFINE procname text
+</pre></div>
+
+<p>command.  Defines a procedure with name <var>procname</var> and text <var>text</var>.  If
+there is already a procedure with the same name, the new definition
+replaces the old one.  The <var>text</var> input must be a list whose members are
+lists.  The first member is a list of inputs; it looks like a <code>TO</code> line
+but without the word <code>TO</code>, without the procedure name, and without the
+colons before input names.  In other words, the members of this first
+sublist are words for the names of required inputs and lists for the
+names of optional or rest inputs.  The remaining sublists of the <var>text</var>
+input make up the body of the procedure, with one sublist for each
+instruction line of the body.  (There is no <code>END</code> line in the text input.)
+It is an error to redefine a primitive procedure unless the variable
+<code>REDEFP</code> has the value <code>TRUE</code>.
+</p>
+<p>See <a href="usermanual.html#REDEFP">REDEFP</a> .
+</p>
+<hr>
+<a name="TEXT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FULLTEXT" accesskey="n" rel="next">FULLTEXT</a>, Previous: <a href="usermanual.html#DEFINE" accesskey="p" rel="prev">DEFINE</a>, Up: <a href="usermanual.html#PROCEDURE-DEFINITION" accesskey="u" rel="up">PROCEDURE DEFINITION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="text"></a>
+<h4 class="unnumberedsubsec">text</h4>
+<a name="index-text"></a>
+
+<div class="example">
+<pre class="example">TEXT procname
+</pre></div>
+
+<p>outputs the text of the procedure named <var>procname</var> in the form expected
+by <code>DEFINE</code>: a list of lists, the first of which describes the inputs to
+the procedure and the rest of which are the lines of its body.  The text
+does not reflect formatting information used when the procedure was
+defined, such as continuation lines and extra spaces.
+</p>
+<hr>
+<a name="FULLTEXT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#COPYDEF" accesskey="n" rel="next">COPYDEF</a>, Previous: <a href="usermanual.html#TEXT" accesskey="p" rel="prev">TEXT</a>, Up: <a href="usermanual.html#PROCEDURE-DEFINITION" accesskey="u" rel="up">PROCEDURE DEFINITION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="fulltext"></a>
+<h4 class="unnumberedsubsec">fulltext</h4>
+<a name="index-fulltext"></a>
+
+<div class="example">
+<pre class="example">FULLTEXT procname
+</pre></div>
+
+<p>outputs a representation of the procedure <var>procname</var> in which formatting
+information is preserved.  If the procedure was defined with <code>TO</code>, <code>EDIT</code>,
+or <code>LOAD</code>, then the output is a list of words.  Each word represents one
+entire line of the definition in the form output by <code>READWORD</code>, including
+extra spaces and continuation lines.  The last member of the output
+represents the <code>END</code> line.  If the procedure was defined with <code>DEFINE</code>, then
+the output is a list of lists.  If these lists are printed, one per
+line, the result will look like a definition using <code>TO</code>.  Note: the output
+from <code>FULLTEXT</code> is not suitable for use as input to <code>DEFINE</code>!
+</p>
+<p>See <a href="usermanual.html#TEXT">TEXT</a>.
+</p>
+
+<hr>
+<a name="COPYDEF"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#FULLTEXT" accesskey="p" rel="prev">FULLTEXT</a>, Up: <a href="usermanual.html#PROCEDURE-DEFINITION" accesskey="u" rel="up">PROCEDURE DEFINITION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="copydef"></a>
+<h4 class="unnumberedsubsec">copydef</h4>
+<a name="index-copydef"></a>
+
+<div class="example">
+<pre class="example">COPYDEF newname oldname
+</pre></div>
+
+<p>command.  Makes <var>newname</var> a procedure identical to <var>oldname</var>.  The
+latter may be a primitive.  If <var>newname</var> was already defined, its
+previous definition is lost.  If <var>newname</var> was already a primitive, the
+redefinition is not permitted unless the variable <code>REDEFP</code> has the value
+<code>TRUE</code>.
+</p>
+<p>Note: dialects of Logo differ as to the order of inputs to <code>COPYDEF</code>.
+This dialect uses &quot;<code>MAKE</code> order,&quot; not &quot;<code>NAME</code> order.&quot;
+</p>
+<p>See <a href="usermanual.html#REDEFP">REDEFP</a> ,
+<a href="usermanual.html#SAVE">SAVE</a> ,
+<a href="usermanual.html#PO">PO</a> ,
+<a href="usermanual.html#POT">POT</a> .
+</p>
+
+<hr>
+<a name="VARIABLE-DEFINITION"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PROPERTY-LISTS" accesskey="n" rel="next">PROPERTY LISTS</a>, Previous: <a href="usermanual.html#PROCEDURE-DEFINITION" accesskey="p" rel="prev">PROCEDURE DEFINITION</a>, Up: <a href="usermanual.html#WORKSPACE-MANAGEMENT" accesskey="u" rel="up">WORKSPACE MANAGEMENT</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Variable-Definition"></a>
+<h3 class="section">8.2 Variable Definition</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MAKE" accesskey="1">MAKE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NAME" accesskey="2">NAME</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOCAL" accesskey="3">LOCAL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOCALMAKE" accesskey="4">LOCALMAKE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#THING" accesskey="5">THING</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#GLOBAL" accesskey="6">GLOBAL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="MAKE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#NAME" accesskey="n" rel="next">NAME</a>, Previous: <a href="usermanual.html#VARIABLE-DEFINITION" accesskey="p" rel="prev">VARIABLE DEFINITION</a>, Up: <a href="usermanual.html#VARIABLE-DEFINITION" accesskey="u" rel="up">VARIABLE DEFINITION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="make"></a>
+<h4 class="unnumberedsubsec">make</h4>
+<a name="index-make"></a>
+
+<div class="example">
+<pre class="example">MAKE varname value
+</pre></div>
+
+<p>command.  Assigns the value <var>value</var> to the variable named <var>varname</var>,
+which must be a word.  Variable names are case-insensitive.  If a
+variable with the same name already exists, the value of that variable
+is changed.  If not, a new global variable is created.
+</p>
+<hr>
+<a name="NAME"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LOCAL" accesskey="n" rel="next">LOCAL</a>, Previous: <a href="usermanual.html#MAKE" accesskey="p" rel="prev">MAKE</a>, Up: <a href="usermanual.html#VARIABLE-DEFINITION" accesskey="u" rel="up">VARIABLE DEFINITION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="name"></a>
+<h4 class="unnumberedsubsec">name</h4>
+<a name="index-name"></a>
+
+<div class="example">
+<pre class="example">NAME value varname				(library procedure)
+</pre></div>
+
+<p>command.  Same as <code>MAKE</code> but with the inputs in reverse order.
+</p>
+<hr>
+<a name="LOCAL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LOCALMAKE" accesskey="n" rel="next">LOCALMAKE</a>, Previous: <a href="usermanual.html#NAME" accesskey="p" rel="prev">NAME</a>, Up: <a href="usermanual.html#VARIABLE-DEFINITION" accesskey="u" rel="up">VARIABLE DEFINITION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="local"></a>
+<h4 class="unnumberedsubsec">local</h4>
+<a name="index-local"></a>
+
+<div class="example">
+<pre class="example">LOCAL varname
+LOCAL varnamelist
+(LOCAL varname1 varname2 ...)
+</pre></div>
+
+<p>command.  Accepts as inputs one or more words, or a list of words.  A
+variable is created for each of these words, with that word as its name.
+The variables are local to the currently running procedure.  Logo
+variables follow dynamic scope rules; a variable that is local to a
+procedure is available to any subprocedure invoked by that procedure.
+The variables created by <code>LOCAL</code> have no initial value; they must be
+assigned a value (e.g., with <code>MAKE</code>) before the procedure attempts to read
+their value.
+</p>
+<p>See <a href="usermanual.html#MAKE">MAKE</a> .
+</p>
+<hr>
+<a name="LOCALMAKE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#THING" accesskey="n" rel="next">THING</a>, Previous: <a href="usermanual.html#LOCAL" accesskey="p" rel="prev">LOCAL</a>, Up: <a href="usermanual.html#VARIABLE-DEFINITION" accesskey="u" rel="up">VARIABLE DEFINITION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="localmake"></a>
+<h4 class="unnumberedsubsec">localmake</h4>
+<a name="index-localmake"></a>
+
+<div class="example">
+<pre class="example">LOCALMAKE varname value				(library procedure)
+</pre></div>
+
+<p>command.  Makes the named variable local, like <code>LOCAL</code>, and assigns it the
+given value, like <code>MAKE</code>.
+</p>
+<p>See <a href="usermanual.html#LOCAL">LOCAL</a> ,
+See <a href="usermanual.html#MAKE">MAKE</a> .
+</p>
+
+<hr>
+<a name="THING"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#GLOBAL" accesskey="n" rel="next">GLOBAL</a>, Previous: <a href="usermanual.html#LOCALMAKE" accesskey="p" rel="prev">LOCALMAKE</a>, Up: <a href="usermanual.html#VARIABLE-DEFINITION" accesskey="u" rel="up">VARIABLE DEFINITION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="thing"></a>
+<h4 class="unnumberedsubsec">thing</h4>
+<a name="index-thing"></a>
+
+<div class="example">
+<pre class="example">THING varname
+:quoted.varname
+</pre></div>
+
+<p>outputs the value of the variable whose name is the input.  If there is
+more than one such variable, the innermost local variable of that name
+is chosen.  The colon notation is an abbreviation not for <code>THING</code> but for
+the combination
+</p>
+<div class="example">
+<pre class="example">thing &quot;
+</pre></div>
+
+<p>so that <tt>:FOO</tt><!-- /@w --> means <tt>THING&nbsp;&quot;FOO</tt><!-- /@w -->.
+</p>
+<hr>
+<a name="GLOBAL"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#THING" accesskey="p" rel="prev">THING</a>, Up: <a href="usermanual.html#VARIABLE-DEFINITION" accesskey="u" rel="up">VARIABLE DEFINITION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="global"></a>
+<h4 class="unnumberedsubsec">global</h4>
+<a name="index-global"></a>
+
+<div class="example">
+<pre class="example">GLOBAL varname
+GLOBAL varnamelist
+(GLOBAL varname1 varname2 ...)
+</pre></div>
+
+<p>command.  Accepts as inputs one or more words, or a list of
+words.  A global variable is created for each of these words, with
+that word as its name.  The only reason this is necessary is that
+you might want to use the &quot;setter&quot; notation <code>SETXYZ</code> for a variable
+<code>XYZ</code> that does not already have a value; <tt>GLOBAL&nbsp;&quot;XYZ</tt><!-- /@w --> makes that legal.
+Note: If there is currently a local variable of the same name, this
+command does *not* make Logo use the global value instead of the
+local one.
+</p>
+
+<hr>
+<a name="PROPERTY-LISTS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#WORKSPACE-PREDICATES" accesskey="n" rel="next">WORKSPACE PREDICATES</a>, Previous: <a href="usermanual.html#VARIABLE-DEFINITION" accesskey="p" rel="prev">VARIABLE DEFINITION</a>, Up: <a href="usermanual.html#WORKSPACE-MANAGEMENT" accesskey="u" rel="up">WORKSPACE MANAGEMENT</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Property-Lists"></a>
+<h3 class="section">8.3 Property Lists</h3>
+
+<p>Note: Names of property lists are always case-insensitive.  Names of
+individual properties are case-sensitive or case-insensitive depending
+on the value of <code>CASEIGNOREDP</code>, which is <code>TRUE</code> by default.
+</p>
+<p>See <a href="usermanual.html#CASEIGNOREDP">CASEIGNOREDP</a> .
+</p>
+<p>In principle, every possible name is the name of a property list, which is
+initially empty.  So Logo never gives a &quot;no such property list&quot; error, as it
+would for undefined procedure or variable names.  But the primitive procedures
+that deal with &quot;all&quot; property lists (<code>CONTENTS</code>, <code>PLISTS</code>, etc.)
+list only nonempty ones.  To &quot;erase&quot; a property list <a href="usermanual.html#ERASE">ERASE</a> means to make
+it empty, removing all properties from it.
+</p>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PPROP" accesskey="1">PPROP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#GPROP" accesskey="2">GPROP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#REMPROP" accesskey="3">REMPROP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PLIST" accesskey="4">PLIST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="PPROP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#GPROP" accesskey="n" rel="next">GPROP</a>, Previous: <a href="usermanual.html#PROPERTY-LISTS" accesskey="p" rel="prev">PROPERTY LISTS</a>, Up: <a href="usermanual.html#PROPERTY-LISTS" accesskey="u" rel="up">PROPERTY LISTS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pprop"></a>
+<h4 class="unnumberedsubsec">pprop</h4>
+<a name="index-pprop"></a>
+
+<div class="example">
+<pre class="example">PPROP plistname propname value
+</pre></div>
+
+<p>command.  Adds a property to the <var>plistname</var> property list with name
+<var>propname</var> and value <var>value</var>.
+</p>
+<hr>
+<a name="GPROP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#REMPROP" accesskey="n" rel="next">REMPROP</a>, Previous: <a href="usermanual.html#PPROP" accesskey="p" rel="prev">PPROP</a>, Up: <a href="usermanual.html#PROPERTY-LISTS" accesskey="u" rel="up">PROPERTY LISTS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="gprop"></a>
+<h4 class="unnumberedsubsec">gprop</h4>
+<a name="index-gprop"></a>
+
+<div class="example">
+<pre class="example">GPROP plistname propname
+</pre></div>
+
+<p>outputs the value of the <var>propname</var> property in the <var>plistname</var> property
+list, or the empty list if there is no such property.
+</p>
+<hr>
+<a name="REMPROP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PLIST" accesskey="n" rel="next">PLIST</a>, Previous: <a href="usermanual.html#GPROP" accesskey="p" rel="prev">GPROP</a>, Up: <a href="usermanual.html#PROPERTY-LISTS" accesskey="u" rel="up">PROPERTY LISTS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="remprop"></a>
+<h4 class="unnumberedsubsec">remprop</h4>
+<a name="index-remprop"></a>
+
+<div class="example">
+<pre class="example">REMPROP plistname propname
+</pre></div>
+
+<p>command.  Removes the property named <var>propname</var> from the property list
+named <var>plistname</var>.
+</p>
+<hr>
+<a name="PLIST"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#REMPROP" accesskey="p" rel="prev">REMPROP</a>, Up: <a href="usermanual.html#PROPERTY-LISTS" accesskey="u" rel="up">PROPERTY LISTS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="plist"></a>
+<h4 class="unnumberedsubsec">plist</h4>
+<a name="index-plist"></a>
+
+<div class="example">
+<pre class="example">PLIST plistname
+</pre></div>
+
+<p>outputs a list whose odd-numbered members are the names, and whose
+even-numbered members are the values, of the properties in the property
+list named <var>plistname</var>.  The output is a copy of the actual property
+list; changing properties later will not magically change a list output
+earlier by <code>PLIST</code>.
+</p>
+
+<hr>
+<a name="WORKSPACE-PREDICATES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="n" rel="next">WORKSPACE QUERIES</a>, Previous: <a href="usermanual.html#PROPERTY-LISTS" accesskey="p" rel="prev">PROPERTY LISTS</a>, Up: <a href="usermanual.html#WORKSPACE-MANAGEMENT" accesskey="u" rel="up">WORKSPACE MANAGEMENT</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Workspace-Predicates"></a>
+<h3 class="section">8.4 Workspace Predicates</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PROCEDUREP" accesskey="1">PROCEDUREP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PRIMITIVEP" accesskey="2">PRIMITIVEP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#DEFINEDP" accesskey="3">DEFINEDP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NAMEP" accesskey="4">NAMEP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PLISTP" accesskey="5">PLISTP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="PROCEDUREP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PRIMITIVEP" accesskey="n" rel="next">PRIMITIVEP</a>, Previous: <a href="usermanual.html#WORKSPACE-PREDICATES" accesskey="p" rel="prev">WORKSPACE PREDICATES</a>, Up: <a href="usermanual.html#WORKSPACE-PREDICATES" accesskey="u" rel="up">WORKSPACE PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="procedurep"></a>
+<h4 class="unnumberedsubsec">procedurep</h4>
+<a name="index-procedurep"></a>
+<a name="index-procedure_003f"></a>
+
+<div class="example">
+<pre class="example">PROCEDUREP name
+PROCEDURE? name
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the input is the name of a procedure.
+</p>
+<hr>
+<a name="PRIMITIVEP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#DEFINEDP" accesskey="n" rel="next">DEFINEDP</a>, Previous: <a href="usermanual.html#PROCEDUREP" accesskey="p" rel="prev">PROCEDUREP</a>, Up: <a href="usermanual.html#WORKSPACE-PREDICATES" accesskey="u" rel="up">WORKSPACE PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="primitivep"></a>
+<h4 class="unnumberedsubsec">primitivep</h4>
+<a name="index-primitivep"></a>
+<a name="index-primitive_003f"></a>
+
+<div class="example">
+<pre class="example">PRIMITIVEP name
+PRIMITIVE? name
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the input is the name of a primitive procedure (one
+built into Logo).  Note that some of the procedures described in this
+document are library procedures, not primitives.
+</p>
+<hr>
+<a name="DEFINEDP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#NAMEP" accesskey="n" rel="next">NAMEP</a>, Previous: <a href="usermanual.html#PRIMITIVEP" accesskey="p" rel="prev">PRIMITIVEP</a>, Up: <a href="usermanual.html#WORKSPACE-PREDICATES" accesskey="u" rel="up">WORKSPACE PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="definedp"></a>
+<h4 class="unnumberedsubsec">definedp</h4>
+<a name="index-definedp"></a>
+<a name="index-defined_003f"></a>
+
+<div class="example">
+<pre class="example">DEFINEDP name
+DEFINED? name
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the input is the name of a user-defined procedure,
+including a library procedure.
+</p>
+<hr>
+<a name="NAMEP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PLISTP" accesskey="n" rel="next">PLISTP</a>, Previous: <a href="usermanual.html#DEFINEDP" accesskey="p" rel="prev">DEFINEDP</a>, Up: <a href="usermanual.html#WORKSPACE-PREDICATES" accesskey="u" rel="up">WORKSPACE PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="namep"></a>
+<h4 class="unnumberedsubsec">namep</h4>
+<a name="index-namep"></a>
+<a name="index-name_003f"></a>
+
+<div class="example">
+<pre class="example">NAMEP name
+NAME? name
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the input is the name of a variable.
+</p>
+<hr>
+<a name="PLISTP"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#NAMEP" accesskey="p" rel="prev">NAMEP</a>, Up: <a href="usermanual.html#WORKSPACE-PREDICATES" accesskey="u" rel="up">WORKSPACE PREDICATES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="plistp"></a>
+<h4 class="unnumberedsubsec">plistp</h4>
+<a name="index-plistp"></a>
+<a name="index-plist_003f"></a>
+
+<div class="example">
+<pre class="example">PLISTP name
+PLIST? name
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the input is the name of a <em>nonempty</em> property list.
+(In principle every word is the name of a property list; if you haven&rsquo;t
+put any properties in it, <code>PLIST</code> of that name outputs an empty list,
+rather than giving an error message.)
+</p>
+
+<hr>
+<a name="WORKSPACE-QUERIES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="n" rel="next">WORKSPACE INSPECTION</a>, Previous: <a href="usermanual.html#WORKSPACE-PREDICATES" accesskey="p" rel="prev">WORKSPACE PREDICATES</a>, Up: <a href="usermanual.html#WORKSPACE-MANAGEMENT" accesskey="u" rel="up">WORKSPACE MANAGEMENT</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Workspace-Queries"></a>
+<h3 class="section">8.5 Workspace Queries</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CONTENTS" accesskey="1">CONTENTS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BURIED" accesskey="2">BURIED</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TRACED" accesskey="3">TRACED</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#STEPPED" accesskey="4">STEPPED</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PROCEDURES" accesskey="5">PROCEDURES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PRIMITIVES" accesskey="6">PRIMITIVES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NAMES" accesskey="7">NAMES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PLISTS" accesskey="8">PLISTS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NAMELIST" accesskey="9">NAMELIST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PLLIST">PLLIST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ARITY">ARITY</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#NODES">NODES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<p>Note:  All procedures whose input is indicated as <var>contentslist</var> will
+accept a single word (taken as a procedure name), a list of words (taken
+as names of procedures), or a list of three lists as described under the
+<code>CONTENTS</code> command above.
+</p>
+<hr>
+<a name="CONTENTS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BURIED" accesskey="n" rel="next">BURIED</a>, Previous: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="p" rel="prev">WORKSPACE QUERIES</a>, Up: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="u" rel="up">WORKSPACE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="contents"></a>
+<h4 class="unnumberedsubsec">contents</h4>
+<a name="index-contents"></a>
+
+<div class="example">
+<pre class="example">CONTENTS
+</pre></div>
+
+<p>outputs a &quot;contents list,&quot; i.e., a list of three lists containing names
+of defined procedures, variables, and property lists respectively.  This
+list includes all unburied named items in the workspace.
+</p>
+<hr>
+<a name="BURIED"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TRACED" accesskey="n" rel="next">TRACED</a>, Previous: <a href="usermanual.html#CONTENTS" accesskey="p" rel="prev">CONTENTS</a>, Up: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="u" rel="up">WORKSPACE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="buried"></a>
+<h4 class="unnumberedsubsec">buried</h4>
+<a name="index-buried"></a>
+
+<div class="example">
+<pre class="example">BURIED
+</pre></div>
+
+<p>outputs a contents list including all buried named items in the
+workspace.
+</p>
+<hr>
+<a name="TRACED"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#STEPPED" accesskey="n" rel="next">STEPPED</a>, Previous: <a href="usermanual.html#BURIED" accesskey="p" rel="prev">BURIED</a>, Up: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="u" rel="up">WORKSPACE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="traced"></a>
+<h4 class="unnumberedsubsec">traced</h4>
+<a name="index-traced"></a>
+
+<div class="example">
+<pre class="example">TRACED
+</pre></div>
+
+<p>outputs a contents list including all traced named items in the
+workspace.
+</p>
+<hr>
+<a name="STEPPED"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PROCEDURES" accesskey="n" rel="next">PROCEDURES</a>, Previous: <a href="usermanual.html#TRACED" accesskey="p" rel="prev">TRACED</a>, Up: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="u" rel="up">WORKSPACE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="stepped"></a>
+<h4 class="unnumberedsubsec">stepped</h4>
+<a name="index-stepped"></a>
+
+<div class="example">
+<pre class="example">STEPPED
+</pre></div>
+
+<p>outputs a contents list including all stepped named items in the
+workspace.
+</p>
+
+<hr>
+<a name="PROCEDURES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PRIMITIVES" accesskey="n" rel="next">PRIMITIVES</a>, Previous: <a href="usermanual.html#STEPPED" accesskey="p" rel="prev">STEPPED</a>, Up: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="u" rel="up">WORKSPACE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="procedures"></a>
+<h4 class="unnumberedsubsec">procedures</h4>
+<a name="index-procedures"></a>
+
+<div class="example">
+<pre class="example">PROCEDURES
+</pre></div>
+
+<p>outputs a list of the names of all unburied user-defined procedures in
+the workspace.  Note that this is a list of names, not a contents list.
+(However, procedures that require a contents list as input will accept
+this list.)
+</p>
+
+<hr>
+<a name="PRIMITIVES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#NAMES" accesskey="n" rel="next">NAMES</a>, Previous: <a href="usermanual.html#PROCEDURES" accesskey="p" rel="prev">PROCEDURES</a>, Up: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="u" rel="up">WORKSPACE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="primitives"></a>
+<h4 class="unnumberedsubsec">primitives</h4>
+<a name="index-primitives"></a>
+
+<div class="example">
+<pre class="example">PRIMITIVES
+</pre></div>
+
+<p>outputs a list of the names of all primitive procedures
+in the workspace.  Note that this is a list of names, not a
+contents list.  (However, procedures that require a contents list
+as input will accept this list.)
+</p>
+<hr>
+<a name="NAMES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PLISTS" accesskey="n" rel="next">PLISTS</a>, Previous: <a href="usermanual.html#PRIMITIVES" accesskey="p" rel="prev">PRIMITIVES</a>, Up: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="u" rel="up">WORKSPACE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="names"></a>
+<h4 class="unnumberedsubsec">names</h4>
+<a name="index-names"></a>
+
+<div class="example">
+<pre class="example">NAMES
+</pre></div>
+
+<p>outputs a contents list consisting of an empty list (indicating no
+procedure names) followed by a list of all unburied variable names in
+the workspace.
+</p>
+<hr>
+<a name="PLISTS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#NAMELIST" accesskey="n" rel="next">NAMELIST</a>, Previous: <a href="usermanual.html#NAMES" accesskey="p" rel="prev">NAMES</a>, Up: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="u" rel="up">WORKSPACE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="plists"></a>
+<h4 class="unnumberedsubsec">plists</h4>
+<a name="index-plists"></a>
+
+<div class="example">
+<pre class="example">PLISTS
+</pre></div>
+
+<p>outputs a contents list consisting of two empty lists (indicating no
+procedures or variables) followed by a list of all unburied nonempty property
+lists in the workspace.
+</p>
+<hr>
+<a name="NAMELIST"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PLLIST" accesskey="n" rel="next">PLLIST</a>, Previous: <a href="usermanual.html#PLISTS" accesskey="p" rel="prev">PLISTS</a>, Up: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="u" rel="up">WORKSPACE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="namelist"></a>
+<h4 class="unnumberedsubsec">namelist</h4>
+<a name="index-namelist"></a>
+
+<div class="example">
+<pre class="example">NAMELIST varname				(library procedure)
+NAMELIST varnamelist
+</pre></div>
+
+<p>outputs a contents list consisting of an empty list followed by a list
+of the name or names given as input.  This is useful in conjunction with
+workspace control procedures that require a contents list as input.
+</p>
+<hr>
+<a name="PLLIST"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ARITY" accesskey="n" rel="next">ARITY</a>, Previous: <a href="usermanual.html#NAMELIST" accesskey="p" rel="prev">NAMELIST</a>, Up: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="u" rel="up">WORKSPACE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pllist"></a>
+<h4 class="unnumberedsubsec">pllist</h4>
+<a name="index-pllist"></a>
+
+<div class="example">
+<pre class="example">PLLIST plname					(library procedure)
+PLLIST plnamelist
+</pre></div>
+
+<p>outputs a contents list consisting of two empty lists followed by a list
+of the name or names given as input.  This is useful in conjunction with
+workspace control procedures that require a contents list as input.
+</p>
+<p>See <a href="usermanual.html#CONTENTS">CONTENTS</a> .
+</p>
+<hr>
+<a name="ARITY"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#NODES" accesskey="n" rel="next">NODES</a>, Previous: <a href="usermanual.html#PLLIST" accesskey="p" rel="prev">PLLIST</a>, Up: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="u" rel="up">WORKSPACE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="arity"></a>
+<h4 class="unnumberedsubsec">arity</h4>
+<a name="index-arity"></a>
+
+<div class="example">
+<pre class="example">ARITY procedurename
+</pre></div>
+
+<p>outputs a list of three numbers: the minimum, default, and maximum
+number of inputs for the procedure whose name is the input.  It is an
+error if there is no such procedure.  A maximum of -1 means that the
+number of inputs is unlimited.
+</p>
+<hr>
+<a name="NODES"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#ARITY" accesskey="p" rel="prev">ARITY</a>, Up: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="u" rel="up">WORKSPACE QUERIES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="nodes"></a>
+<h4 class="unnumberedsubsec">nodes</h4>
+<a name="index-nodes"></a>
+
+<div class="example">
+<pre class="example">NODES
+</pre></div>
+
+<p>outputs a list of two numbers.  The first represents the number of nodes
+of memory currently in use.  The second shows the maximum number of
+nodes that have been in use at any time since the last invocation of
+<code>NODES</code>.  (A node is a small block of computer memory as used by Logo.
+Each number uses one node.  Each non-numeric word uses one node, plus
+some non-node memory for the characters in the word.  Each array takes
+one node, plus some non-node memory, as well as the memory required by
+its elements.  Each list requires one node per element, as well as the
+memory within the elements.)  If you want to track the memory use of an
+algorithm, it is best if you invoke <code>GC</code> at the beginning of each
+iteration, since otherwise the maximum will include storage that is
+unused but not yet collected.
+</p>
+<hr>
+<a name="WORKSPACE-INSPECTION"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="n" rel="next">WORKSPACE CONTROL</a>, Previous: <a href="usermanual.html#WORKSPACE-QUERIES" accesskey="p" rel="prev">WORKSPACE QUERIES</a>, Up: <a href="usermanual.html#WORKSPACE-MANAGEMENT" accesskey="u" rel="up">WORKSPACE MANAGEMENT</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Workspace-Inspection"></a>
+<h3 class="section">8.6 Workspace Inspection</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PO" accesskey="1">PO</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#POALL" accesskey="2">POALL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#POPS" accesskey="3">POPS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PONS" accesskey="4">PONS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#POPLS" accesskey="5">POPLS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PON" accesskey="6">PON</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#POPL" accesskey="7">POPL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#POT" accesskey="8">POT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#POTS" accesskey="9">POTS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="PO"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#POALL" accesskey="n" rel="next">POALL</a>, Previous: <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="p" rel="prev">WORKSPACE INSPECTION</a>, Up: <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="u" rel="up">WORKSPACE INSPECTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="po"></a>
+<h4 class="unnumberedsubsec">po</h4>
+<a name="index-printout"></a>
+<a name="index-po"></a>
+
+<div class="example">
+<pre class="example">PRINTOUT contentslist
+PO contentslist
+</pre></div>
+
+<p>command.  Prints to the write stream the definitions of all procedures,
+variables, and property lists named in the input contents list.
+</p>
+<hr>
+<a name="POALL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#POPS" accesskey="n" rel="next">POPS</a>, Previous: <a href="usermanual.html#PO" accesskey="p" rel="prev">PO</a>, Up: <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="u" rel="up">WORKSPACE INSPECTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="poall"></a>
+<h4 class="unnumberedsubsec">poall</h4>
+<a name="index-poall"></a>
+
+<div class="example">
+<pre class="example">POALL						(library procedure)
+</pre></div>
+
+<p>command.  Prints all unburied definitions in the workspace.  Abbreviates
+<tt>PO&nbsp;CONTENTS</tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#CONTENTS">CONTENTS</a> .
+</p>
+<hr>
+<a name="POPS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PONS" accesskey="n" rel="next">PONS</a>, Previous: <a href="usermanual.html#POALL" accesskey="p" rel="prev">POALL</a>, Up: <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="u" rel="up">WORKSPACE INSPECTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pops"></a>
+<h4 class="unnumberedsubsec">pops</h4>
+<a name="index-pops"></a>
+
+<div class="example">
+<pre class="example">POPS						(library procedure)
+</pre></div>
+
+<p>command.  Prints the definitions of all unburied procedures in the
+workspace.  Abbreviates <tt>PO&nbsp;PROCEDURES</tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#PO">PO</a> ,
+<a href="usermanual.html#PROCEDURES">PROCEDURES</a> .
+</p>
+<hr>
+<a name="PONS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#POPLS" accesskey="n" rel="next">POPLS</a>, Previous: <a href="usermanual.html#POPS" accesskey="p" rel="prev">POPS</a>, Up: <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="u" rel="up">WORKSPACE INSPECTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pons"></a>
+<h4 class="unnumberedsubsec">pons</h4>
+<a name="index-pons"></a>
+
+<div class="example">
+<pre class="example">PONS						(library procedure)
+</pre></div>
+
+<p>command.  Prints the definitions of all unburied variables in the
+workspace.  Abbreviates <tt>PO&nbsp;NAMES</tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#PO">PO</a> ,
+<a href="usermanual.html#NAMES">NAMES</a> .
+</p>
+<hr>
+<a name="POPLS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PON" accesskey="n" rel="next">PON</a>, Previous: <a href="usermanual.html#PONS" accesskey="p" rel="prev">PONS</a>, Up: <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="u" rel="up">WORKSPACE INSPECTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="popls"></a>
+<h4 class="unnumberedsubsec">popls</h4>
+<a name="index-popls"></a>
+
+<div class="example">
+<pre class="example">POPLS						(library procedure)
+</pre></div>
+
+<p>command.  Prints the contents of all unburied nonempty property lists in the
+workspace.  Abbreviates <tt>PO&nbsp;PLISTS</tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#PO">PO</a> ,
+<a href="usermanual.html#PLISTS">PLISTS</a> .
+</p>
+<hr>
+<a name="PON"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#POPL" accesskey="n" rel="next">POPL</a>, Previous: <a href="usermanual.html#POPLS" accesskey="p" rel="prev">POPLS</a>, Up: <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="u" rel="up">WORKSPACE INSPECTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pon"></a>
+<h4 class="unnumberedsubsec">pon</h4>
+<a name="index-pon"></a>
+
+<div class="example">
+<pre class="example">PON varname					(library procedure)
+PON varnamelist
+</pre></div>
+
+<p>command.  Prints the definitions of the named variable(s).  
+<br>
+Abbreviates <tt>PO&nbsp;NAMELIST&nbsp;varname(list)</tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#PO">PO</a> ,
+<a href="usermanual.html#NAMELIST">NAMELIST</a> .
+</p>
+<hr>
+<a name="POPL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#POT" accesskey="n" rel="next">POT</a>, Previous: <a href="usermanual.html#PON" accesskey="p" rel="prev">PON</a>, Up: <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="u" rel="up">WORKSPACE INSPECTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="popl"></a>
+<h4 class="unnumberedsubsec">popl</h4>
+<a name="index-popl"></a>
+
+<div class="example">
+<pre class="example">POPL plname					(library procedure)
+POPL plnamelist
+</pre></div>
+
+<p>command.  Prints the definitions of the named property list(s).
+<br>
+Abbreviates <tt>PO&nbsp;PLLIST&nbsp;plname(list)</tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#PO">PO</a> ,
+<a href="usermanual.html#PLLIST">PLLIST</a> .
+</p>
+<hr>
+<a name="POT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#POTS" accesskey="n" rel="next">POTS</a>, Previous: <a href="usermanual.html#POPL" accesskey="p" rel="prev">POPL</a>, Up: <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="u" rel="up">WORKSPACE INSPECTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pot"></a>
+<h4 class="unnumberedsubsec">pot</h4>
+<a name="index-pot"></a>
+
+<div class="example">
+<pre class="example">POT contentslist
+</pre></div>
+
+<p>command.  Prints the title lines of the named procedures and the
+definitions of the named variables and property lists.  For property
+lists, the entire list is shown on one line instead of as a series of
+<code>PPROP</code> instructions as in <code>PO</code>.
+</p>
+<p>See <a href="usermanual.html#PPROP">PPROP</a> ,
+<a href="usermanual.html#PO">PO</a> .
+</p>
+<hr>
+<a name="POTS"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#POT" accesskey="p" rel="prev">POT</a>, Up: <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="u" rel="up">WORKSPACE INSPECTION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pots"></a>
+<h4 class="unnumberedsubsec">pots</h4>
+<a name="index-pots"></a>
+
+<div class="example">
+<pre class="example">POTS						(library procedure)
+</pre></div>
+
+<p>command.  Prints the title lines of all unburied procedures in the
+workspace.  Abbreviates <tt>POT&nbsp;PROCEDURES</tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#PROCEDURES">PROCEDURES</a> .
+</p>
+
+<hr>
+<a name="WORKSPACE-CONTROL"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#WORKSPACE-INSPECTION" accesskey="p" rel="prev">WORKSPACE INSPECTION</a>, Up: <a href="usermanual.html#WORKSPACE-MANAGEMENT" accesskey="u" rel="up">WORKSPACE MANAGEMENT</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Workspace-Control"></a>
+<h3 class="section">8.7 Workspace Control</h3>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERASE" accesskey="1">ERASE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERALL" accesskey="2">ERALL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERPS" accesskey="3">ERPS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERNS" accesskey="4">ERNS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERPLS" accesskey="5">ERPLS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERN" accesskey="6">ERN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERPL" accesskey="7">ERPL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BURY" accesskey="8">BURY</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BURYALL" accesskey="9">BURYALL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BURYNAME">BURYNAME</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#UNBURY">UNBURY</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#UNBURYALL">UNBURYALL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#UNBURYNAME">UNBURYNAME</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BURIEDP">BURIEDP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TRACE">TRACE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#UNTRACE">UNTRACE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TRACEDP">TRACEDP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#STEP">STEP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#UNSTEP">UNSTEP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#STEPPEDP">STEPPEDP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EDIT">EDIT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EDITFILE">EDITFILE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EDALL">EDALL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EDPS">EDPS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EDNS">EDNS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EDPLS">EDPLS</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EDN">EDN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#EDPL">EDPL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SAVE">SAVE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SAVEL">SAVEL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOAD">LOAD</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CSLSLOAD">CSLSLOAD</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#HELP">HELP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETEDITOR">SETEDITOR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETLIBLOC">SETLIBLOC</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETHELPLOC">SETHELPLOC</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETCSLSLOC">SETCSLSLOC</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#SETTEMPLOC">SETTEMPLOC</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#GC">GC</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#g_t_002eSETSEGMENTSIZE">.SETSEGMENTSIZE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="ERASE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ERALL" accesskey="n" rel="next">ERALL</a>, Previous: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="p" rel="prev">WORKSPACE CONTROL</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="erase"></a>
+<h4 class="unnumberedsubsec">erase</h4>
+<a name="index-erase"></a>
+<a name="index-er"></a>
+
+<div class="example">
+<pre class="example">ERASE contentslist
+ER contentslist
+</pre></div>
+
+<p>command.  Erases from the workspace the procedures, variables, and
+property lists named in the input.  Primitive procedures may not be
+erased unless the variable <code>REDEFP</code> has the value <code>TRUE</code>.
+</p>
+<p>See <a href="usermanual.html#REDEFP">REDEFP</a> .
+</p>
+<hr>
+<a name="ERALL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ERPS" accesskey="n" rel="next">ERPS</a>, Previous: <a href="usermanual.html#ERASE" accesskey="p" rel="prev">ERASE</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="erall"></a>
+<h4 class="unnumberedsubsec">erall</h4>
+<a name="index-erall"></a>
+
+<div class="example">
+<pre class="example">ERALL
+</pre></div>
+
+<p>command.  Erases all unburied procedures, variables, and property lists
+from the workspace.  Abbreviates <tt>ERASE&nbsp;CONTENTS</tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#CONTENTS">CONTENTS</a> .
+</p>
+<hr>
+<a name="ERPS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ERNS" accesskey="n" rel="next">ERNS</a>, Previous: <a href="usermanual.html#ERALL" accesskey="p" rel="prev">ERALL</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="erps"></a>
+<h4 class="unnumberedsubsec">erps</h4>
+<a name="index-erps"></a>
+
+<div class="example">
+<pre class="example">ERPS
+</pre></div>
+
+<p>command.  Erases all unburied procedures from the workspace.
+<br>
+Abbreviates <tt>ERASE&nbsp;PROCEDURES</tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#ERASE">ERASE</a> ,
+<a href="usermanual.html#PROCEDURES">PROCEDURES</a> .
+</p>
+<hr>
+<a name="ERNS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ERPLS" accesskey="n" rel="next">ERPLS</a>, Previous: <a href="usermanual.html#ERPS" accesskey="p" rel="prev">ERPS</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="erns"></a>
+<h4 class="unnumberedsubsec">erns</h4>
+<a name="index-erns"></a>
+
+<div class="example">
+<pre class="example">ERNS
+</pre></div>
+
+<p>command.  Erases all unburied variables from the workspace.  Abbreviates
+<tt>ERASE&nbsp;NAMES</tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#ERASE">ERASE</a> ,
+<a href="usermanual.html#NAMES">NAMES</a> .
+</p>
+<hr>
+<a name="ERPLS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ERN" accesskey="n" rel="next">ERN</a>, Previous: <a href="usermanual.html#ERNS" accesskey="p" rel="prev">ERNS</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="erpls"></a>
+<h4 class="unnumberedsubsec">erpls</h4>
+<a name="index-erpls"></a>
+
+<div class="example">
+<pre class="example">ERPLS
+</pre></div>
+
+<p>command.  Erases all unburied property lists from the workspace.
+<br>
+Abbreviates <tt>ERASE&nbsp;PLISTS</tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#ERASE">ERASE</a> ,
+<a href="usermanual.html#PLISTS">PLISTS</a> .
+</p>
+<hr>
+<a name="ERN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ERPL" accesskey="n" rel="next">ERPL</a>, Previous: <a href="usermanual.html#ERPLS" accesskey="p" rel="prev">ERPLS</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ern"></a>
+<h4 class="unnumberedsubsec">ern</h4>
+<a name="index-ern"></a>
+
+<div class="example">
+<pre class="example">ERN varname					(library procedure)
+ERN varnamelist
+</pre></div>
+
+<p>command.  Erases from the workspace the variable(s) named in the input.
+Abbreviates <tt>ERASE&nbsp;NAMELIST&nbsp;<var>varname(list)</var></tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#ERASE">ERASE</a> ,
+<a href="usermanual.html#NAMELIST">NAMELIST</a> .
+</p>
+<hr>
+<a name="ERPL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BURY" accesskey="n" rel="next">BURY</a>, Previous: <a href="usermanual.html#ERN" accesskey="p" rel="prev">ERN</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="erpl"></a>
+<h4 class="unnumberedsubsec">erpl</h4>
+<a name="index-erpl"></a>
+
+<div class="example">
+<pre class="example">ERPL plname					(library procedure)
+ERPL plnamelist
+</pre></div>
+
+<p>command.  Erases from the workspace the property list(s) named in the
+input.  Abbreviates <tt>ERASE&nbsp;PLLIST&nbsp;<var>plname(list)</var></tt><!-- /@w -->.
+</p>
+<p>See <a href="usermanual.html#ERASE">ERASE</a> ,
+<a href="usermanual.html#PLLIST">PLLIST</a> .
+</p>
+<hr>
+<a name="BURY"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BURYALL" accesskey="n" rel="next">BURYALL</a>, Previous: <a href="usermanual.html#ERPL" accesskey="p" rel="prev">ERPL</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="bury"></a>
+<h4 class="unnumberedsubsec">bury</h4>
+<a name="index-bury"></a>
+
+<div class="example">
+<pre class="example">BURY contentslist
+</pre></div>
+
+<p>command.  Buries the procedures, variables, and property lists named in
+the input.  A buried item is not included in the lists output by
+<code>CONTENTS</code>, <code>PROCEDURES</code>, <code>VARIABLES</code>, and <code>PLISTS</code>, but is included in the list
+output by <code>BURIED</code>.  By implication, buried things are not printed by
+<code>POALL</code> or saved by <code>SAVE</code>.
+</p>
+<p>See <a href="usermanual.html#CONTENTS">CONTENTS</a> ,
+<a href="usermanual.html#PROCEDURES">PROCEDURES</a> ,
+<a href="usermanual.html#PONS">PONS</a> ,
+<a href="usermanual.html#PLISTS">PLISTS</a> ,
+<a href="usermanual.html#POALL">POALL</a> ,
+<a href="usermanual.html#SAVE">SAVE</a> .
+</p>
+<hr>
+<a name="BURYALL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BURYNAME" accesskey="n" rel="next">BURYNAME</a>, Previous: <a href="usermanual.html#BURY" accesskey="p" rel="prev">BURY</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="buryall"></a>
+<h4 class="unnumberedsubsec">buryall</h4>
+<a name="index-buryall"></a>
+
+<div class="example">
+<pre class="example">BURYALL                                         (library procedure)
+</pre></div>
+
+<p>command.  Abbreviates <tt>BURY CONTENTS</tt>.
+</p>
+<p>See <a href="usermanual.html#CONTENTS">CONTENTS</a> .
+</p>
+<hr>
+<a name="BURYNAME"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#UNBURY" accesskey="n" rel="next">UNBURY</a>, Previous: <a href="usermanual.html#BURYALL" accesskey="p" rel="prev">BURYALL</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="buryname"></a>
+<h4 class="unnumberedsubsec">buryname</h4>
+<a name="index-buryname"></a>
+
+<div class="example">
+<pre class="example">BURYNAME varname				(library procedure)
+BURYNAME varnamelist
+</pre></div>
+
+<p>command.  Abbreviates <tt>BURY NAMELIST <code>varname(list)</code></tt>.
+</p>
+<p>See <a href="usermanual.html#BURY">BURY</a> ,
+<a href="usermanual.html#NAMELIST">NAMELIST</a> .
+</p>
+<hr>
+<a name="UNBURY"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#UNBURYALL" accesskey="n" rel="next">UNBURYALL</a>, Previous: <a href="usermanual.html#BURYNAME" accesskey="p" rel="prev">BURYNAME</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="unbury"></a>
+<h4 class="unnumberedsubsec">unbury</h4>
+<a name="index-unbury"></a>
+
+<div class="example">
+<pre class="example">UNBURY contentslist
+</pre></div>
+
+<p>command.  Unburies the procedures, variables, and property lists named
+in the input.  That is, the named items will be returned to view in
+<code>CONTENTS</code>, etc.
+</p>
+<p>See <a href="usermanual.html#CONTENTS">CONTENTS</a> .
+</p>
+<hr>
+<a name="UNBURYALL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#UNBURYNAME" accesskey="n" rel="next">UNBURYNAME</a>, Previous: <a href="usermanual.html#UNBURY" accesskey="p" rel="prev">UNBURY</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="unburyall"></a>
+<h4 class="unnumberedsubsec">unburyall</h4>
+<a name="index-unburyall"></a>
+
+<div class="example">
+<pre class="example">UNBURYALL					(library procedure)
+</pre></div>
+
+<p>command.  Abbreviates <tt>UNBURY BURIED</tt>.
+</p>
+<p>See <a href="usermanual.html#BURIED">BURIED</a> .
+</p>
+<hr>
+<a name="UNBURYNAME"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BURIEDP" accesskey="n" rel="next">BURIEDP</a>, Previous: <a href="usermanual.html#UNBURYALL" accesskey="p" rel="prev">UNBURYALL</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="unburyname"></a>
+<h4 class="unnumberedsubsec">unburyname</h4>
+<a name="index-unburyname"></a>
+
+<div class="example">
+<pre class="example">UNBURYNAME varname				(library procedure)
+UNBURYNAME varnamelist
+</pre></div>
+
+<p>command.  Abbreviates <tt>UNBURY NAMELIST <var>varname(list)</var></tt>.
+</p>
+<p>See <a href="usermanual.html#UNBURY">UNBURY</a> ,
+<a href="usermanual.html#NAMELIST">NAMELIST</a> .
+</p>
+<hr>
+<a name="BURIEDP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TRACE" accesskey="n" rel="next">TRACE</a>, Previous: <a href="usermanual.html#UNBURYNAME" accesskey="p" rel="prev">UNBURYNAME</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="buriedp"></a>
+<h4 class="unnumberedsubsec">buriedp</h4>
+<a name="index-buriedp"></a>
+<a name="index-buried_003f"></a>
+
+<div class="example">
+<pre class="example">BURIEDP contentslist
+BURIED? contentslist
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the first procedure, variable, or property list named in
+the contents list is buried, <code>FALSE</code> if not.  Only the first thing in the
+list is tested; the most common use will be with a word as input, naming
+a procedure, but a contents list is allowed so that you can <code>BURIEDP [[]
+[<var>variable</var>]]</code> or <code>BURIEDP [[] [] [<var>proplist</var>]]</code>.
+</p>
+
+
+<hr>
+<a name="TRACE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#UNTRACE" accesskey="n" rel="next">UNTRACE</a>, Previous: <a href="usermanual.html#BURIEDP" accesskey="p" rel="prev">BURIEDP</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="trace"></a>
+<h4 class="unnumberedsubsec">trace</h4>
+<a name="index-trace"></a>
+
+<div class="example">
+<pre class="example">TRACE contentslist
+</pre></div>
+
+<p>command.  Marks the named items for tracing.  A message is printed
+whenever a traced procedure is invoked, giving the actual input values,
+and whenever a traced procedure <code>STOP</code>s or <code>OUTPUT</code>s.  A message is printed
+whenever a new value is assigned to a traced variable using <code>MAKE</code>.  A
+message is printed whenever a new property is given to a traced property
+list using <code>PPROP</code>.
+</p>
+<p>See <a href="usermanual.html#STOP">STOP</a> ,
+<a href="usermanual.html#OUTPUT">OUTPUT</a> ,
+<a href="usermanual.html#MAKE">MAKE</a> ,
+<a href="usermanual.html#PPROP">PPROP</a> .
+</p>
+<hr>
+<a name="UNTRACE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TRACEDP" accesskey="n" rel="next">TRACEDP</a>, Previous: <a href="usermanual.html#TRACE" accesskey="p" rel="prev">TRACE</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="untrace"></a>
+<h4 class="unnumberedsubsec">untrace</h4>
+<a name="index-untrace"></a>
+
+<div class="example">
+<pre class="example">UNTRACE contentslist
+</pre></div>
+
+<p>command.  Turns off tracing for the named items.
+</p>
+<hr>
+<a name="TRACEDP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#STEP" accesskey="n" rel="next">STEP</a>, Previous: <a href="usermanual.html#UNTRACE" accesskey="p" rel="prev">UNTRACE</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="tracedp"></a>
+<h4 class="unnumberedsubsec">tracedp</h4>
+<a name="index-tracedp"></a>
+<a name="index-traced_003f"></a>
+
+<div class="example">
+<pre class="example">TRACEDP contentslist
+TRACED? contentslist
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the first procedure, variable, or property list named in
+the contents list is traced, <code>FALSE</code> if not.  Only the first thing in the
+list is tested; the most common use will be with a word as input, naming
+a procedure, but a contents list is allowed so that you can <code>TRACEDP [[]
+[<var>variable</var>]]</code> or <code>TRACEDP [[] [] [<var>proplist</var>]]</code>.
+</p>
+
+<hr>
+<a name="STEP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#UNSTEP" accesskey="n" rel="next">UNSTEP</a>, Previous: <a href="usermanual.html#TRACEDP" accesskey="p" rel="prev">TRACEDP</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="step"></a>
+<h4 class="unnumberedsubsec">step</h4>
+<a name="index-step"></a>
+
+<div class="example">
+<pre class="example">STEP contentslist
+</pre></div>
+
+<p>command.  Marks the named items for stepping.  Whenever a stepped
+procedure is invoked, each instruction line in the procedure body is
+printed before being executed, and Logo waits for the user to type a
+newline at the terminal.  A message is printed whenever a stepped
+variable name is <em>shadowed</em> because a local variable of the same name is
+created either as a procedure input or by the <code>LOCAL</code> command.
+</p>
+<p>See <a href="usermanual.html#LOCAL">LOCAL</a> .
+</p>
+<hr>
+<a name="UNSTEP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#STEPPEDP" accesskey="n" rel="next">STEPPEDP</a>, Previous: <a href="usermanual.html#STEP" accesskey="p" rel="prev">STEP</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="unstep"></a>
+<h4 class="unnumberedsubsec">unstep</h4>
+<a name="index-unstep"></a>
+
+<div class="example">
+<pre class="example">UNSTEP contentslist
+</pre></div>
+
+<p>command.  Turns off stepping for the named items.
+</p>
+
+<hr>
+<a name="STEPPEDP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EDIT" accesskey="n" rel="next">EDIT</a>, Previous: <a href="usermanual.html#UNSTEP" accesskey="p" rel="prev">UNSTEP</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="steppedp"></a>
+<h4 class="unnumberedsubsec">steppedp</h4>
+<a name="index-steppedp"></a>
+<a name="index-stepped_003f"></a>
+
+<div class="example">
+<pre class="example">STEPPEDP contentslist
+STEPPED? contentslist
+</pre></div>
+
+<p>outputs <code>TRUE</code> if the first procedure, variable, or property list named in
+the contents list is stepped, <code>FALSE</code> if not.  Only the first thing in the
+list is tested; the most common use will be with a word as input, naming
+a procedure, but a contents list is allowed so that you can <code>STEPPEDP [[]
+[<var>variable</var>]]</code> or <code>STEPPEDP [[] [] [<var>proplist</var>]]</code>.
+</p>
+
+
+<hr>
+<a name="EDIT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EDITFILE" accesskey="n" rel="next">EDITFILE</a>, Previous: <a href="usermanual.html#STEPPEDP" accesskey="p" rel="prev">STEPPEDP</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="edit"></a>
+<h4 class="unnumberedsubsec">edit</h4>
+<a name="index-editor"></a>
+<a name="index-temp"></a>
+<a name="index-edit"></a>
+<a name="index-ed"></a>
+
+<div class="example">
+<pre class="example">EDIT contentslist
+ED contentslist
+(EDIT)
+(ED)
+</pre></div>
+
+<p>command.  If invoked with an input, <code>EDIT</code> writes the definitions of the
+named items into a temporary file and edits that file, using an editor that
+depends on the platform you&rsquo;re using.  In wxWidgets, and in the MacOS Classic
+version, there is an editor built into Logo.  In the non-wxWidgets versions
+for Unix, MacOS X, Windows, and DOS, Logo uses your favorite editor as
+determined by the <code>EDITOR</code> environment variable.  If you don&rsquo;t have an
+<code>EDITOR</code> variable, edits the definitions using <code>jove</code>.  If invoked
+without an input, <code>EDIT</code> edits the same file left over from a previous
+<code>EDIT</code> or <code>EDITFILE</code> instruction.  When you leave the editor, Logo
+reads the revised definitions and modifies the workspace accordingly.  It is
+not an error if the input includes names for which there is no previous
+definition.
+</p>
+<p>If there is a variable <code>LOADNOISILY</code> whose value is <code>TRUE</code>, then,
+after leaving the editor, <code>TO</code> commands in the temporary file print
+&lsquo;<samp><var>procname</var> defined</samp>&rsquo; (where <var>procname</var> is the name of the
+procedure being defined); if <code>LOADNOISILY</code> is <code>FALSE</code> or undefined,
+<code>TO</code> commands in the file are carried out silently.
+</p>
+<p>If there is an environment variable called <code>TEMP</code>, then Logo uses its
+value as the directory in which to write the temporary file used for
+editing.
+</p>
+<p>Exceptionally, the <code>EDIT</code> command can be used without its default input
+and without parentheses provided that nothing follows it on the
+instruction line.
+</p>
+<p>See <a href="usermanual.html#LOADNOISILY">LOADNOISILY</a> ,
+See <a href="usermanual.html#EDITFILE">EDITFILE</a> .
+</p>
+<hr>
+<a name="EDITFILE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EDALL" accesskey="n" rel="next">EDALL</a>, Previous: <a href="usermanual.html#EDIT" accesskey="p" rel="prev">EDIT</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="editfile"></a>
+<h4 class="unnumberedsubsec">editfile</h4>
+<a name="index-editfile"></a>
+
+<div class="example">
+<pre class="example">EDITFILE filename
+</pre></div>
+
+<p>command.  Starts the Logo editor, like <code>EDIT</code>, but instead of editing a
+temporary file it edits the file specified by the input.  When you leave the
+editor, Logo reads the revised file, as for <code>EDIT</code>.  <code>EDITFILE</code> also
+remembers the filename, so that a subsequent <code>EDIT</code> command with no input will
+re-edit the same file.
+</p>
+<p><code>EDITFILE</code> is intended as an alternative to <code>LOAD</code> and <code>SAVE</code>.
+You can maintain a workspace file yourself, controlling the order in which
+definitions appear, maintaining comments in the file, and so on.
+</p>
+<p>In the wxWidgets version, <code>EDITFILE</code> asks whether or not you want to
+load the file into Logo when you finish editing.  This allows you to use
+<code>EDITFILE</code> to edit data files without leaving Logo.
+</p>
+
+<hr>
+<a name="EDALL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EDPS" accesskey="n" rel="next">EDPS</a>, Previous: <a href="usermanual.html#EDITFILE" accesskey="p" rel="prev">EDITFILE</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="edall"></a>
+<h4 class="unnumberedsubsec">edall</h4>
+<a name="index-edall"></a>
+
+<div class="example">
+<pre class="example">EDALL						(library procedure)
+</pre></div>
+
+<p>command.  Abbreviates <tt>EDIT CONTENTS</tt>.
+</p>
+<p>See <a href="usermanual.html#CONTENTS">CONTENTS</a> .
+</p>
+<hr>
+<a name="EDPS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EDNS" accesskey="n" rel="next">EDNS</a>, Previous: <a href="usermanual.html#EDALL" accesskey="p" rel="prev">EDALL</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="edps"></a>
+<h4 class="unnumberedsubsec">edps</h4>
+<a name="index-edps"></a>
+
+<div class="example">
+<pre class="example">EDPS						(library procedure)
+</pre></div>
+
+<p>command.  Abbreviates <tt>EDIT PROCEDURES</tt>.
+</p>
+<p>See <a href="usermanual.html#EDIT">EDIT</a> ,
+<a href="usermanual.html#PROCEDURES">PROCEDURES</a> .
+</p>
+<hr>
+<a name="EDNS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EDPLS" accesskey="n" rel="next">EDPLS</a>, Previous: <a href="usermanual.html#EDPS" accesskey="p" rel="prev">EDPS</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="edns"></a>
+<h4 class="unnumberedsubsec">edns</h4>
+<a name="index-edns"></a>
+
+<div class="example">
+<pre class="example">EDNS						(library procedure)
+</pre></div>
+
+<p>command.  Abbreviates <tt>EDIT NAMES</tt>.
+</p>
+<p>See <a href="usermanual.html#EDIT">EDIT</a> ,
+<a href="usermanual.html#NAMES">NAMES</a> .
+</p>
+<hr>
+<a name="EDPLS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EDN" accesskey="n" rel="next">EDN</a>, Previous: <a href="usermanual.html#EDNS" accesskey="p" rel="prev">EDNS</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="edpls"></a>
+<h4 class="unnumberedsubsec">edpls</h4>
+<a name="index-edpls"></a>
+
+<div class="example">
+<pre class="example">EDPLS						(library procedure)
+</pre></div>
+
+<p>command.  Abbreviates <tt>EDIT PLISTS</tt>.
+</p>
+<p>See <a href="usermanual.html#EDIT">EDIT</a> ,
+<a href="usermanual.html#PLISTS">PLISTS</a> .
+</p>
+<hr>
+<a name="EDN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#EDPL" accesskey="n" rel="next">EDPL</a>, Previous: <a href="usermanual.html#EDPLS" accesskey="p" rel="prev">EDPLS</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="edn"></a>
+<h4 class="unnumberedsubsec">edn</h4>
+<a name="index-edn"></a>
+
+<div class="example">
+<pre class="example">EDN varname					(library procedure)
+EDN varnamelist
+</pre></div>
+
+<p>command.  Abbreviates <tt>EDIT NAMELIST <var>varname(list)</var></tt>.
+</p>
+<p>See <a href="usermanual.html#EDIT">EDIT</a> , 
+<a href="usermanual.html#NAMELIST">NAMELIST</a> .
+</p>
+<hr>
+<a name="EDPL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SAVE" accesskey="n" rel="next">SAVE</a>, Previous: <a href="usermanual.html#EDN" accesskey="p" rel="prev">EDN</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="edpl"></a>
+<h4 class="unnumberedsubsec">edpl</h4>
+<a name="index-edpl"></a>
+
+<div class="example">
+<pre class="example">EDPL plname					(library procedure)
+EDPL plnamelist
+</pre></div>
+
+<p>command.  Abbreviates <tt>EDIT PLLIST <var>plname(list)</var></tt>.
+</p>
+<p>See <a href="usermanual.html#EDIT">EDIT</a> , 
+<a href="usermanual.html#PLLIST">PLLIST</a> .
+</p>
+<hr>
+<a name="SAVE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SAVEL" accesskey="n" rel="next">SAVEL</a>, Previous: <a href="usermanual.html#EDPL" accesskey="p" rel="prev">EDPL</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="save"></a>
+<h4 class="unnumberedsubsec">save</h4>
+<a name="index-save"></a>
+
+<div class="example">
+<pre class="example">SAVE filename
+</pre></div>
+
+<p>command.  Saves the definitions of all unburied procedures, variables,
+and nonempty property lists in the named file.  Equivalent to
+</p>
+<div class="example">
+<pre class="example">to save :filename
+local &quot;oldwriter
+make &quot;oldwriter writer
+openwrite :filename
+setwrite :filename
+poall
+setwrite :oldwriter
+close :filename
+end
+</pre></div>
+
+<p>Exceptionally, <code>SAVE</code> can be used with no input and without parentheses
+if it is the last thing on the command line.  In this case, the
+filename from the most recent <code>LOAD</code> or <code>SAVE</code> command will be used.  (It
+is an error if there has been no previous <code>LOAD</code> or <code>SAVE</code>.)
+</p>
+<hr>
+<a name="SAVEL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LOAD" accesskey="n" rel="next">LOAD</a>, Previous: <a href="usermanual.html#SAVE" accesskey="p" rel="prev">SAVE</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="savel"></a>
+<h4 class="unnumberedsubsec">savel</h4>
+<a name="index-savel"></a>
+
+<div class="example">
+<pre class="example">SAVEL contentslist filename			(library procedure)
+</pre></div>
+
+<p>command.  Saves the definitions of the procedures, variables, and
+property lists specified by <var>contentslist</var> to the file named <var>filename</var>.
+</p>
+<hr>
+<a name="LOAD"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CSLSLOAD" accesskey="n" rel="next">CSLSLOAD</a>, Previous: <a href="usermanual.html#SAVEL" accesskey="p" rel="prev">SAVEL</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="load"></a>
+<h4 class="unnumberedsubsec">load</h4>
+<a name="index-load"></a>
+
+<div class="example">
+<pre class="example">LOAD filename
+</pre></div>
+
+<p>command.  Reads instructions from the named file and executes them.  The file
+can include procedure definitions with <code>TO</code>, and these are accepted even
+if a procedure by the same name already exists.  If the file assigns a list
+value to a variable named <code>STARTUP</code>, then that list is run as an
+instructionlist after the file is loaded. If there is a variable
+<code>LOADNOISILY</code> whose value is <code>TRUE</code>, then <code>TO</code> commands in the
+file print &lsquo;<samp><var>procname</var> defined</samp>&rsquo; (where <var>procname</var> is the name of
+the procedure being defined); if <code>LOADNOISILY</code> is <code>FALSE</code> or
+undefined, <code>TO</code> commands in the file are carried out silently.
+</p>
+<p>See <a href="usermanual.html#STARTUP">STARTUP</a> ,
+See <a href="usermanual.html#LOADNOISILY">LOADNOISILY</a> .
+</p>
+
+<hr>
+<a name="CSLSLOAD"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#HELP" accesskey="n" rel="next">HELP</a>, Previous: <a href="usermanual.html#LOAD" accesskey="p" rel="prev">LOAD</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="cslsload"></a>
+<h4 class="unnumberedsubsec">cslsload</h4>
+<a name="index-cslsload"></a>
+
+<div class="example">
+<pre class="example">CSLSLOAD name
+</pre></div>
+
+<p>command.  Loads the named file, like <code>LOAD</code>, but from the directory
+containing the Computer Science Logo Style programs instead of the
+current user&rsquo;s directory.
+</p>
+<p>See <a href="usermanual.html#LOAD">LOAD</a> .
+</p>
+<hr>
+<a name="HELP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETEDITOR" accesskey="n" rel="next">SETEDITOR</a>, Previous: <a href="usermanual.html#CSLSLOAD" accesskey="p" rel="prev">CSLSLOAD</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="help"></a>
+<h4 class="unnumberedsubsec">help</h4>
+<a name="index-logohelp"></a>
+<a name="index-help"></a>
+
+<div class="example">
+<pre class="example">HELP name
+(HELP)
+</pre></div>
+
+<p>command.  Prints information from the reference manual about the
+primitive procedure named by the input.  With no input, lists all the
+primitives about which help is available.  If there is an environment
+variable <code>LOGOHELP</code>, then its value is taken as the directory in which to
+look for help files, instead of the default help directory.
+</p>
+<p>If <code>HELP</code> is called with the name of a defined procedure for which there
+is no help file, it will print the title line of the procedure
+followed by lines from the procedure body that start with semicolon,
+stopping when a non-semicolon line is seen.
+</p>
+<p>Exceptionally, the <code>HELP</code> command can be used without its default input
+and without parentheses provided that nothing follows it on the
+instruction line.
+</p>
+<hr>
+<a name="SETEDITOR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETLIBLOC" accesskey="n" rel="next">SETLIBLOC</a>, Previous: <a href="usermanual.html#HELP" accesskey="p" rel="prev">HELP</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="seteditor"></a>
+<h4 class="unnumberedsubsec">seteditor</h4>
+<a name="index-seteditor"></a>
+
+<div class="example">
+<pre class="example">SETEDITOR path
+</pre></div>
+
+<p>command.  Tells Logo to use the specified program as its editor
+instead of the default editor.  The format of a path depends on your
+operating system.
+</p>
+<hr>
+<a name="SETLIBLOC"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETCSLSLOC" accesskey="n" rel="next">SETCSLSLOC</a>, Previous: <a href="usermanual.html#SETEDITOR" accesskey="p" rel="prev">SETEDITOR</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setlibloc"></a>
+<h4 class="unnumberedsubsec">setlibloc</h4>
+<a name="index-setlibloc"></a>
+
+<div class="example">
+<pre class="example">SETLIBLOC path
+</pre></div>
+
+<p>command.  Tells Logo to use the specified directory as its library
+instead of the default.  (Note that many Logo &quot;primitive&quot; procedures
+are actually found in the library, so they may become unavailable if
+your new library does not include them!)  The format of a path depends
+on your operating system.
+</p>
+<hr>
+<a name="SETCSLSLOC"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETHELPLOC" accesskey="n" rel="next">SETHELPLOC</a>, Previous: <a href="usermanual.html#SETLIBLOC" accesskey="p" rel="prev">SETLIBLOC</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="setcslsloc"></a>
+<h4 class="unnumberedsubsec">setcslsloc</h4>
+<a name="index-setcslsloc"></a>
+
+<div class="example">
+<pre class="example">SETCSLSLOC path
+</pre></div>
+
+<p>command.  Tells Logo to use the specified directory for the <code>CSLSLOAD</code>
+command, instead of the default directory.  The format of a path
+depends on your operating system.
+</p>
+<p>See <a href="usermanual.html#CSLSLOAD">CSLSLOAD</a> .
+</p>
+<hr>
+<a name="SETHELPLOC"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SETTEMPLOC" accesskey="n" rel="next">SETTEMPLOC</a>, Previous: <a href="usermanual.html#SETCSLSLOC" accesskey="p" rel="prev">SETCSLSLOC</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="sethelploc"></a>
+<h4 class="unnumberedsubsec">sethelploc</h4>
+<a name="index-sethelploc"></a>
+
+<div class="example">
+<pre class="example">SETHELPLOC path
+</pre></div>
+
+<p>command.  Tells Logo to look in the specified directory for the information
+provided by the HELP command, instead of the default directory.
+The format of a path depends on your operating system.
+</p>
+<hr>
+<a name="SETTEMPLOC"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#GC" accesskey="n" rel="next">GC</a>, Previous: <a href="usermanual.html#SETHELPLOC" accesskey="p" rel="prev">SETHELPLOC</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="settemploc"></a>
+<h4 class="unnumberedsubsec">settemploc</h4>
+<a name="index-settemploc"></a>
+
+<div class="example">
+<pre class="example">SETTEMPLOC path
+</pre></div>
+
+<p>command.  Tells Logo to write editor temporary files in the specified
+directory rather than in the default directory.  You must have write
+permission for this directory.  The format of a path depends on your
+operating system.
+</p>
+<hr>
+<a name="GC"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#g_t_002eSETSEGMENTSIZE" accesskey="n" rel="next">.SETSEGMENTSIZE</a>, Previous: <a href="usermanual.html#SETTEMPLOC" accesskey="p" rel="prev">SETTEMPLOC</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="gc"></a>
+<h4 class="unnumberedsubsec">gc</h4>
+<a name="index-gc"></a>
+
+<div class="example">
+<pre class="example">GC
+(GC anything)
+</pre></div>
+
+<p>command.  Runs the garbage collector, reclaiming unused nodes.  Logo
+does this when necessary anyway, but you may want to use this command to
+control exactly when Logo does it.  In particular, the numbers output by
+the <code>NODES</code> operation will not be very meaningful unless garbage has been
+collected.  Another reason to use <code>GC</code> is that a garbage collection takes
+a noticeable fraction of a second, and you may want to schedule
+collections for times before or after some time-critical animation.  If
+invoked with an argument (of any value), <code>GC</code> runs a full garbage
+collection, including <acronym>GCTWA</acronym> (Garbage Collect Truly Worthless Atoms,
+which means that it removes from Logo&rsquo;s memory words that used to be
+procedure or variable names but aren&rsquo;t any more); without an argument,
+<code>GC</code> does a generational garbage collection, which means that only
+recently created nodes are examined.  (The latter is usually good
+enough.)
+</p>
+
+<hr>
+<a name="g_t_002eSETSEGMENTSIZE"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#GC" accesskey="p" rel="prev">GC</a>, Up: <a href="usermanual.html#WORKSPACE-CONTROL" accesskey="u" rel="up">WORKSPACE CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="g_t_002esetsegmentsize"></a>
+<h4 class="unnumberedsubsec">.setsegmentsize</h4>
+<a name="index-_002esetsegmentsize"></a>
+
+<div class="example">
+<pre class="example">.SETSEGMENTSIZE num
+</pre></div>
+
+<p>command.  Sets the number of nodes that Logo allocates from the
+operating system at once to <var>num</var>, which must be a positive integer.
+The name is dotted because bad things will happen if you use a
+number that&rsquo;s too small or too large for your computer.  The
+initial value is 16,000 for most systems, but is smaller for
+68000-based Macs.  Making it larger will speed up computations
+(by reducing the number of garbage collections) at the cost of
+allocating more memory than necessary.
+</p>
+
+<hr>
+<a name="CONTROL-STRUCTURES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MACROS" accesskey="n" rel="next">MACROS</a>, Previous: <a href="usermanual.html#WORKSPACE-MANAGEMENT" accesskey="p" rel="prev">WORKSPACE MANAGEMENT</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Control-Structures"></a>
+<h2 class="chapter">9 Control Structures</h2>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CONTROL" accesskey="1">CONTROL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="2">TEMPLATE-BASED ITERATION</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<a name="CONTROL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="n" rel="next">TEMPLATE-BASED ITERATION</a>, Previous: <a href="usermanual.html#CONTROL-STRUCTURES" accesskey="p" rel="prev">CONTROL STRUCTURES</a>, Up: <a href="usermanual.html#CONTROL-STRUCTURES" accesskey="u" rel="up">CONTROL STRUCTURES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Control"></a>
+<h3 class="section">9.1 Control</h3>
+
+<p>Note: in the following descriptions, an <em>instructionlist</em> can be a list or
+a word.  In the latter case, the word is parsed into list form before it is
+run.  Thus, <tt>RUN&nbsp;READWORD</tt><!-- /@w --> or <tt>RUN&nbsp;READLIST</tt><!-- /@w --> will work.  The
+former is slightly preferable because it allows for a continued line (with <code>~</code>)
+that includes a comment (with <code>;</code>) on the first line.
+</p>
+<p>A <var>tf</var> input must be the word <code>TRUE</code>, the word <code>FALSE</code>, or a list.  If it&rsquo;s a
+list, then it must be a Logo expression, which will be evaluated to produce
+a value that must be <code>TRUE</code> or <code>FALSE</code>.  The comparisons with <code>TRUE</code> and <code>FALSE</code>
+are always case-insensitive.
+</p>
+<p>A runlist can consist of either a single expression (that produces a value)
+or zero or more instructions (that do something, rather than output a value),
+depending on the context:
+</p>
+<div class="example">
+<pre class="example">PRINT IFELSE :X&lt;0 [&quot;NEGATIVE] [&quot;POSITIVE]  ; one value in each case
+REPEAT 4 [PRINT &quot;A PRINT &quot;B]  ; two instructions
+</pre></div>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RUN" accesskey="1">RUN</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#RUNRESULT" accesskey="2">RUNRESULT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#REPEAT" accesskey="3">REPEAT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FOREVER" accesskey="4">FOREVER</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#REPCOUNT" accesskey="5">REPCOUNT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#IF" accesskey="6">IF</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#IFELSE" accesskey="7">IFELSE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TEST" accesskey="8">TEST</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#IFTRUE" accesskey="9">IFTRUE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#IFFALSE">IFFALSE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#STOP">STOP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#OUTPUT">OUTPUT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CATCH">CATCH</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#THROW">THROW</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERROR">ERROR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PAUSE">PAUSE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CONTINUE">CONTINUE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WAIT">WAIT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BYE">BYE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#dMAYBEOUTPUT">dMAYBEOUTPUT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">MAYBEOUTPUT
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#GOTO">GOTO</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TAG">TAG</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#IGNORE">IGNORE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#back_002dquote">back-quote</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FOR">FOR</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#DOdWHILE">DOdWHILE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">DO.WHILE
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#WHILE">WHILE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#DOdUNTIL">DOdUNTIL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">DO.UNTIL
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#UNTIL">UNTIL</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CASE">CASE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#COND">COND</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="RUN"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#RUNRESULT" accesskey="n" rel="next">RUNRESULT</a>, Previous: <a href="usermanual.html#CONTROL" accesskey="p" rel="prev">CONTROL</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="run"></a>
+<h4 class="unnumberedsubsec">run</h4>
+<a name="index-run"></a>
+
+<div class="example">
+<pre class="example">RUN instructionlist
+</pre></div>
+
+<p>command or operation.  Runs the Logo instructions in the input list;
+outputs if the list contains an expression that outputs.
+</p>
+<p>See <a href="usermanual.html#READWORD">READWORD</a> ,
+<a href="usermanual.html#READLIST">READLIST</a> .
+</p>
+<hr>
+<a name="RUNRESULT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#REPEAT" accesskey="n" rel="next">REPEAT</a>, Previous: <a href="usermanual.html#RUN" accesskey="p" rel="prev">RUN</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="runresult"></a>
+<h4 class="unnumberedsubsec">runresult</h4>
+<a name="index-runresult"></a>
+
+<div class="example">
+<pre class="example">RUNRESULT instructionlist
+</pre></div>
+
+<p>runs the instructions in the input; outputs an empty list if those
+instructions produce no output, or a list whose only member is the
+output from running the input instructionlist.  Useful for inventing
+command-or-operation control structures:
+</p>
+<div class="example">
+<pre class="example">local &quot;result
+make &quot;result runresult [something]
+if emptyp :result [stop]
+output first :result
+</pre></div>
+
+<hr>
+<a name="REPEAT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FOREVER" accesskey="n" rel="next">FOREVER</a>, Previous: <a href="usermanual.html#RUNRESULT" accesskey="p" rel="prev">RUNRESULT</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="repeat"></a>
+<h4 class="unnumberedsubsec">repeat</h4>
+<a name="index-repeat"></a>
+
+<div class="example">
+<pre class="example">REPEAT num instructionlist
+</pre></div>
+
+<p>command.  Runs the <var>instructionlist</var> repeatedly, <var>num</var> times.
+</p>
+<hr>
+<a name="FOREVER"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#REPCOUNT" accesskey="n" rel="next">REPCOUNT</a>, Previous: <a href="usermanual.html#REPEAT" accesskey="p" rel="prev">REPEAT</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="forever"></a>
+<h4 class="unnumberedsubsec">forever</h4>
+<a name="index-forever"></a>
+
+<div class="example">
+<pre class="example">FOREVER instructionlist
+</pre></div>
+
+<p>command.  Runs the &quot;instructionlist&quot; repeatedly, until something inside
+the instructionlist (such as <code>STOP</code> or <code>THROW</code>) makes it stop.
+</p>
+<p>See <a href="usermanual.html#STOP">STOP</a> ,
+See <a href="usermanual.html#THROW">THROW</a> .
+</p>
+
+<hr>
+<a name="REPCOUNT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#IF" accesskey="n" rel="next">IF</a>, Previous: <a href="usermanual.html#FOREVER" accesskey="p" rel="prev">FOREVER</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="repcount"></a>
+<h4 class="unnumberedsubsec">repcount</h4>
+<a name="index-repcount"></a>
+
+<div class="example">
+<pre class="example">REPCOUNT
+</pre></div>
+
+<p>outputs the repetition count of the innermost current <code>REPEAT</code> or
+<code>FOREVER</code>, starting from 1.  If no <code>REPEAT</code> or <code>FOREVER</code>
+is active, outputs &ndash;1.
+</p>
+<p>The abbreviation <code>#</code> can be used for <code>REPCOUNT</code> unless the
+<code>REPEAT</code> is inside the template input to a higher order procedure
+such as <code>FOREACH</code>, in which case <code>#</code> has a different meaning.
+</p>
+<hr>
+<a name="IF"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#IFELSE" accesskey="n" rel="next">IFELSE</a>, Previous: <a href="usermanual.html#REPCOUNT" accesskey="p" rel="prev">REPCOUNT</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="if"></a>
+<h4 class="unnumberedsubsec">if</h4>
+<a name="index-if"></a>
+
+<div class="example">
+<pre class="example">IF tf instructionlist
+(IF tf instructionlist1 instructionlist2)
+</pre></div>
+
+<p>command.  If the first input has the value <code>TRUE</code>, then <code>IF</code> runs the second
+input.  If the first input has the value <code>FALSE</code>, then <code>IF</code> does nothing.
+(If given a third input, IF acts like <code>IFELSE</code>, as described below.)  It
+is an error if the first input is not either <code>TRUE</code> or <code>FALSE</code>.
+</p>
+<p>For compatibility with earlier versions of Logo, if an <code>IF</code> instruction is
+not enclosed in parentheses, but the first thing on the instruction line
+after the second input expression is a literal list (i.e., a list in
+square brackets), the <code>IF</code> is treated as if it were <code>IFELSE</code>, but a warning
+message is given.  If this aberrant <code>IF</code> appears in a procedure body, the
+warning is given only the first time the procedure is invoked in each
+Logo session.
+</p>
+<hr>
+<a name="IFELSE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TEST" accesskey="n" rel="next">TEST</a>, Previous: <a href="usermanual.html#IF" accesskey="p" rel="prev">IF</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ifelse"></a>
+<h4 class="unnumberedsubsec">ifelse</h4>
+<a name="index-ifelse"></a>
+
+<div class="example">
+<pre class="example">IFELSE tf instructionlist1 instructionlist2
+</pre></div>
+
+<p>command or operation.  If the first input has the value <code>TRUE</code>, then
+<code>IFELSE</code> runs the second input.  If the first input has the value <code>FALSE</code>,
+then <code>IFELSE</code> runs the third input.  <code>IFELSE</code> outputs a value if the
+<var>instructionlist</var> contains an expression that outputs a value.
+</p>
+<hr>
+<a name="TEST"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#IFTRUE" accesskey="n" rel="next">IFTRUE</a>, Previous: <a href="usermanual.html#IFELSE" accesskey="p" rel="prev">IFELSE</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="test"></a>
+<h4 class="unnumberedsubsec">test</h4>
+<a name="index-test"></a>
+
+<div class="example">
+<pre class="example">TEST tf
+</pre></div>
+
+<p>command.  Remembers its input, which must be <code>TRUE</code> or <code>FALSE</code>, for
+use by later <code>IFTRUE</code> or <code>IFFALSE</code> instructions.  The effect of
+<code>TEST</code> is local to the procedure in which it is used; any corresponding
+<code>IFTRUE</code> or <code>IFFALSE</code> must be in the same procedure or a subprocedure.
+</p>
+<p>See <a href="usermanual.html#IFFALSE">IFFALSE</a> .
+</p>
+<hr>
+<a name="IFTRUE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#IFFALSE" accesskey="n" rel="next">IFFALSE</a>, Previous: <a href="usermanual.html#TEST" accesskey="p" rel="prev">TEST</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="iftrue"></a>
+<h4 class="unnumberedsubsec">iftrue</h4>
+<a name="index-iftrue"></a>
+<a name="index-ift"></a>
+
+<div class="example">
+<pre class="example">IFTRUE instructionlist
+IFT instructionlist
+</pre></div>
+
+<p>command.  Runs its input if the most recent <code>TEST</code> instruction had a <code>TRUE</code>
+input.  The <code>TEST</code> must have been in the same procedure or a
+superprocedure.
+</p>
+<hr>
+<a name="IFFALSE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#STOP" accesskey="n" rel="next">STOP</a>, Previous: <a href="usermanual.html#IFTRUE" accesskey="p" rel="prev">IFTRUE</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="iffalse"></a>
+<h4 class="unnumberedsubsec">iffalse</h4>
+<a name="index-iffalse"></a>
+<a name="index-iff"></a>
+
+<div class="example">
+<pre class="example">IFFALSE instructionlist
+IFF instructionlist
+</pre></div>
+
+<p>command.  Runs its input if the most recent <code>TEST</code> instruction had a <code>FALSE</code>
+input.  The <code>TEST</code> must have been in the same procedure or a
+superprocedure.
+</p>
+<p>See <a href="usermanual.html#TEST">TEST</a> .
+</p>
+<hr>
+<a name="STOP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#OUTPUT" accesskey="n" rel="next">OUTPUT</a>, Previous: <a href="usermanual.html#IFFALSE" accesskey="p" rel="prev">IFFALSE</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="stop"></a>
+<h4 class="unnumberedsubsec">stop</h4>
+<a name="index-stop"></a>
+
+<div class="example">
+<pre class="example">STOP
+</pre></div>
+
+<p>command.  Ends the running of the procedure in which it appears.
+Control is returned to the context in which that procedure was invoked.
+The stopped procedure does not output a value.
+</p>
+<hr>
+<a name="OUTPUT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CATCH" accesskey="n" rel="next">CATCH</a>, Previous: <a href="usermanual.html#STOP" accesskey="p" rel="prev">STOP</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="output"></a>
+<h4 class="unnumberedsubsec">output</h4>
+<a name="index-output"></a>
+<a name="index-op"></a>
+
+<div class="example">
+<pre class="example">OUTPUT value
+OP value
+</pre></div>
+
+<p>command.  Ends the running of the procedure in which it appears.  That
+procedure outputs the value <var>value</var> to the context in which it was
+invoked.  Don&rsquo;t be confused: <code>OUTPUT</code> itself is a command, but the
+procedure that invokes <code>OUTPUT</code> is an operation.
+</p>
+<hr>
+<a name="CATCH"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#THROW" accesskey="n" rel="next">THROW</a>, Previous: <a href="usermanual.html#OUTPUT" accesskey="p" rel="prev">OUTPUT</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="catch"></a>
+<h4 class="unnumberedsubsec">catch</h4>
+<a name="index-catch"></a>
+
+<div class="example">
+<pre class="example">CATCH tag instructionlist
+</pre></div>
+
+<p>command or operation.  Runs its second input.  Outputs if that
+<var>instructionlist</var> outputs.  If, while running the instructionlist, a
+<code>THROW</code> instruction is executed with a tag equal to the first input
+(case-insensitive comparison), then the running of the <var>instructionlist</var> is
+terminated immediately.  In this case the <code>CATCH</code> outputs if a value input is
+given to <code>THROW</code>.  The <var>tag</var> must be a word.
+</p>
+<p>If the tag is the word <code>ERROR</code>, then any error condition that arises
+during the running of the instructionlist has the effect of <tt>THROW&nbsp;&quot;ERROR</tt><!-- /@w -->
+instead of printing an error message and returning to toplevel.  The
+<code>CATCH</code> does not output if an error is caught.  Also, during the running
+of the instructionlist, the variable <code>ERRACT</code> is temporarily unbound.  (If
+there is an error while <code>ERRACT</code> has a value, that value is taken as an
+instructionlist to be run after printing the error message.  Typically
+the value of <code>ERRACT</code>, if any, is the list <code>[PAUSE]</code>.)
+</p>
+<p>See <a href="usermanual.html#ERROR">ERROR</a> ,
+<a href="usermanual.html#ERRACT">ERRACT</a> ,
+<a href="usermanual.html#PAUSE">PAUSE</a> .
+</p>
+<hr>
+<a name="THROW"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ERROR" accesskey="n" rel="next">ERROR</a>, Previous: <a href="usermanual.html#CATCH" accesskey="p" rel="prev">CATCH</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="throw"></a>
+<h4 class="unnumberedsubsec">throw</h4>
+<a name="index-throw"></a>
+
+<div class="example">
+<pre class="example">THROW tag
+(THROW tag value)
+</pre></div>
+
+<p>command.  Must be used within the scope of a <code>CATCH</code> with an equal tag.
+Ends the running of the instructionlist of the <code>CATCH</code>.  If <code>THROW</code> is used
+with only one input, the corresponding <code>CATCH</code> does not output a value.
+If <code>THROW</code> is used with two inputs, the second provides an output for the
+<code>CATCH</code>.
+</p>
+<p><tt>THROW&nbsp;&quot;TOPLEVEL</tt><!-- /@w --> can be used to terminate all running procedures and
+interactive pauses, and return to the toplevel instruction prompt.  Typing the
+system interrupt character (<tt class="key">alt-S</tt> for wxWidgets; otherwise normally
+<tt class="key">control-C</tt> for Unix, <tt class="key">control-Q</tt> for DOS, or <tt class="key">command-period</tt> for
+Mac) has the same effect.
+</p>
+<p><tt>THROW&nbsp;&quot;ERROR</tt><!-- /@w --> can be used to generate an error condition.  If the error
+is not caught, it prints a message (<code>THROW&nbsp;&quot;ERROR</code><!-- /@w -->) with the usual
+indication of where the error (in this case the <code>THROW</code>) occurred.  If a
+second input is used along with a tag of <code>ERROR</code>, that second input is
+used as the text of the error message instead of the standard message.
+Also, in this case, the location indicated for the error will be, not
+the location of the <code>THROW</code>, but the location where the procedure
+containing the <code>THROW</code> was invoked.  This allows user-defined procedures
+to generate error messages as if they were primitives.  Note: in this
+case the corresponding <tt>CATCH&nbsp;&quot;ERROR</tt><!-- /@w -->, if any, does not output, since the
+second input to <code>THROW</code> is not considered a return value.
+</p>
+<p><tt>THROW&nbsp;&quot;SYSTEM</tt><!-- /@w --> immediately leaves Logo, returning to the operating
+system, without printing the usual parting message and without deleting
+any editor temporary file written by EDIT.
+</p>
+
+<hr>
+<a name="ERROR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PAUSE" accesskey="n" rel="next">PAUSE</a>, Previous: <a href="usermanual.html#THROW" accesskey="p" rel="prev">THROW</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="error"></a>
+<h4 class="unnumberedsubsec">error</h4>
+<a name="index-error"></a>
+
+<div class="example">
+<pre class="example">ERROR
+</pre></div>
+
+<p>outputs a list describing the error just caught, if any.  If there was not an
+error caught since the last use of <code>ERROR</code>, the empty list will be
+output.  The error list contains four members: an integer code corresponding
+to the type of error, the text of the error message (as a single word
+including spaces), the name of the procedure in which the error occurred, and
+the instruction line on which the error occurred.
+</p>
+<hr>
+<a name="PAUSE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CONTINUE" accesskey="n" rel="next">CONTINUE</a>, Previous: <a href="usermanual.html#ERROR" accesskey="p" rel="prev">ERROR</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="pause"></a>
+<h4 class="unnumberedsubsec">pause</h4>
+<a name="index-pause"></a>
+
+<div class="example">
+<pre class="example">PAUSE
+</pre></div>
+
+<p>command or operation.  Enters an interactive pause.  The user is
+prompted for instructions, as at toplevel, but with a prompt that
+includes the name of the procedure in which <code>PAUSE</code> was invoked.  Local
+variables of that procedure are available during the pause.  <code>PAUSE</code>
+outputs if the pause is ended by a <code>CONTINUE</code> with an input.
+</p>
+<p>If the variable <code>ERRACT</code> exists, and an error condition occurs, the
+contents of that variable are run as an instructionlist.  Typically
+<code>ERRACT</code> is given the value <code>[PAUSE]</code> so that an interactive pause will be
+entered in the event of an error.  This allows the user to check values
+of local variables at the time of the error.
+</p>
+<p>Typing the system quit character (<tt class="key">alt-S</tt> for wxWidgets; otherwise
+normally <tt class="key">control-\</tt> for Unix, <tt class="key">control-W</tt> for DOS, or
+<tt class="key">command-comma</tt> for Mac) will also enter a pause.
+</p>
+<p>See <a href="usermanual.html#ERRACT">ERRACT</a> .
+</p>
+<hr>
+<a name="CONTINUE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#WAIT" accesskey="n" rel="next">WAIT</a>, Previous: <a href="usermanual.html#PAUSE" accesskey="p" rel="prev">PAUSE</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="continue"></a>
+<h4 class="unnumberedsubsec">continue</h4>
+<a name="index-continue"></a>
+<a name="index-co"></a>
+
+<div class="example">
+<pre class="example">CONTINUE value
+CO value
+(CONTINUE)
+(CO)
+</pre></div>
+
+<p>command.  Ends the current interactive pause, returning to the context
+of the <code>PAUSE</code> invocation that began it.  If <code>CONTINUE</code> is given an input,
+that value is used as the output from the <code>PAUSE</code>.  If not, the <code>PAUSE</code> does
+not output.
+</p>
+<p>Exceptionally, the <code>CONTINUE</code> command can be used without its default
+input and without parentheses provided that nothing follows it on the
+instruction line.
+</p>
+<hr>
+<a name="WAIT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BYE" accesskey="n" rel="next">BYE</a>, Previous: <a href="usermanual.html#CONTINUE" accesskey="p" rel="prev">CONTINUE</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="wait"></a>
+<h4 class="unnumberedsubsec">wait</h4>
+<a name="index-wait"></a>
+
+<div class="example">
+<pre class="example">WAIT time
+</pre></div>
+
+<p>command.  Delays further execution for <var>time</var> 60ths of a second.  Also
+causes any buffered characters destined for the terminal to be printed
+immediately.  <tt>WAIT&nbsp;0</tt><!-- /@w --> can be used to achieve this buffer flushing without actually waiting.
+</p>
+<hr>
+<a name="BYE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#dMAYBEOUTPUT" accesskey="n" rel="next">dMAYBEOUTPUT</a>, Previous: <a href="usermanual.html#WAIT" accesskey="p" rel="prev">WAIT</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="bye"></a>
+<h4 class="unnumberedsubsec">bye</h4>
+<a name="index-bye"></a>
+
+<div class="example">
+<pre class="example">BYE
+</pre></div>
+
+<p>command.  Exits from Logo; returns to the operating system.
+</p>
+<hr>
+<a name="dMAYBEOUTPUT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#GOTO" accesskey="n" rel="next">GOTO</a>, Previous: <a href="usermanual.html#BYE" accesskey="p" rel="prev">BYE</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="g_t_002emaybeoutput"></a>
+<h4 class="unnumberedsubsec">.maybeoutput</h4>
+<a name="index-_002emaybeoutput"></a>
+
+<div class="example">
+<pre class="example">.MAYBEOUTPUT value				(special form)
+</pre></div>
+
+<p>works like <code>OUTPUT</code> except that the expression that provides the input
+value might not, in fact, output a value, in which case the effect is
+like <code>STOP</code>.  This is intended for use in control structure definitions,
+for cases in which you don&rsquo;t know whether or not some expression
+produces a value.  Example:
+</p>
+<div class="example">
+<pre class="example">to invoke :function [:inputs] 2
+.maybeoutput apply :function :inputs
+end
+
+? (invoke &quot;print &quot;a &quot;b &quot;c)
+a b c
+? print (invoke &quot;word &quot;a &quot;b &quot;c)
+abc
+</pre></div>
+
+<p>This is an alternative to <code>RUNRESULT</code>.  It&rsquo;s fast and easy to use, at the
+cost of being an exception to Logo&rsquo;s evaluation rules.  (Ordinarily, it
+should be an error if the expression that&rsquo;s supposed to provide an input
+to something doesn&rsquo;t have a value.)
+</p>
+<p>See <a href="usermanual.html#OUTPUT">OUTPUT</a> ,
+<a href="usermanual.html#STOP">STOP</a> ,
+<a href="usermanual.html#RUNRESULT">RUNRESULT</a> .
+</p>
+<hr>
+<a name="GOTO"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TAG" accesskey="n" rel="next">TAG</a>, Previous: <a href="usermanual.html#dMAYBEOUTPUT" accesskey="p" rel="prev">dMAYBEOUTPUT</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="goto"></a>
+<h4 class="unnumberedsubsec">goto</h4>
+<a name="index-goto"></a>
+
+<div class="example">
+<pre class="example">GOTO word
+</pre></div>
+
+<p>command.  Looks for a <code>TAG</code> command with the same input in the same
+procedure, and continues running the procedure from the location of that
+<code>TAG</code>.  It is meaningless to use <code>GOTO</code> outside of a procedure.
+</p>
+<hr>
+<a name="TAG"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#IGNORE" accesskey="n" rel="next">IGNORE</a>, Previous: <a href="usermanual.html#GOTO" accesskey="p" rel="prev">GOTO</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="tag"></a>
+<h4 class="unnumberedsubsec">tag</h4>
+<a name="index-tag"></a>
+
+<div class="example">
+<pre class="example">TAG quoted.word
+</pre></div>
+
+<p>command.  Does nothing.  The input must be a literal word following a
+quotation mark (<code>&quot;</code>), not the result of a computation.  Tags are used by
+the <code>GOTO</code> command.
+</p>
+<hr>
+<a name="IGNORE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#back_002dquote" accesskey="n" rel="next">back-quote</a>, Previous: <a href="usermanual.html#TAG" accesskey="p" rel="prev">TAG</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="ignore"></a>
+<h4 class="unnumberedsubsec">ignore</h4>
+<a name="index-ignore"></a>
+
+<div class="example">
+<pre class="example">IGNORE value					(library procedure)
+</pre></div>
+
+<p>command.  Does nothing.  Used when an expression is evaluated for a side
+effect and its actual value is unimportant.
+</p>
+<hr>
+<a name="back_002dquote"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FOR" accesskey="n" rel="next">FOR</a>, Previous: <a href="usermanual.html#IGNORE" accesskey="p" rel="prev">IGNORE</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="g_t_0060"></a>
+<h4 class="unnumberedsubsec">&lsquo;</h4>
+<a name="index-_0060"></a>
+
+<div class="example">
+<pre class="example">` list						(library procedure)
+</pre></div>
+
+<p>outputs a list equal to its input but with certain substitutions.  If a
+member of the input list is the word &lsquo;<samp>,</samp>&rsquo; (comma) then the following
+member should be an instructionlist that produces an output when run.
+That output value replaces the comma and the instructionlist.  If a
+member of the input list is the word &lsquo;<samp>,@</samp>&rsquo; (comma atsign) then the
+following member should be an instructionlist that outputs a list when
+run.  The members of that list replace the &lsquo;<samp>,@</samp>&rsquo; and the instructionlist.
+Example:
+</p>
+<div class="example">
+<pre class="example">show `[foo baz ,[bf [a b c]] garply ,@[bf [a b c]]]
+</pre></div>
+
+<p>will print
+</p>
+<div class="example">
+<pre class="example">[foo baz [b c] garply b c]
+</pre></div>
+
+<p>A word starting with &lsquo;<samp>,</samp>&rsquo; or &lsquo;<samp>,@</samp>&rsquo; is treated as if the rest of the
+word were a one-word list, e.g., &lsquo;<samp>,:foo</samp>&rsquo; is equivalent to &lsquo;<samp>,[:Foo]</samp>&rsquo;.
+</p>
+<p>A word starting with &lsquo;<samp>&quot;,</samp>&rsquo; (quote comma) or &lsquo;<samp>:,</samp>&rsquo; (colon comma)
+becomes a word starting with &lsquo;<samp>&quot;</samp>&rsquo; or &lsquo;<samp>:</samp>&rsquo; but with the result of
+running the substitution (or its first word, if the result is a list)
+replacing what comes after the comma.
+</p>
+<p>Backquotes can be nested.  Substitution is done only for commas at
+the same depth as the backquote in which they are found:
+</p>
+<div class="example">
+<pre class="example">? show `[a `[b ,[1+2] ,[foo ,[1+3] d] e] f]
+[a ` [b , [1+2] , [foo 4 d] e] f]
+
+?make &quot;name1 &quot;x
+?make &quot;name2 &quot;y
+? show `[a `[b ,:,:name1 ,&quot;,:name2 d] e]
+[a ` [b , [:x] , [&quot;y] d] e]
+</pre></div>
+
+<hr>
+<a name="FOR"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#DOdWHILE" accesskey="n" rel="next">DOdWHILE</a>, Previous: <a href="usermanual.html#back_002dquote" accesskey="p" rel="prev">back-quote</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="for"></a>
+<h4 class="unnumberedsubsec">for</h4>
+<a name="index-for"></a>
+
+<div class="example">
+<pre class="example">FOR forcontrol instructionlist			(library procedure)
+</pre></div>
+
+<p>command.  The first input must be a list containing three or four
+members: (1) a word, which will be used as the name of a local variable;
+(2) a word or list that will be evaluated as by <code>RUN</code> to determine a
+number, the starting value of the variable; (3) a word or list that will
+be evaluated to determine a number, the limit value of the variable; (4)
+an optional word or list that will be evaluated to determine the step
+size.  If the fourth member is missing, the step size will be 1 or &ndash;1
+depending on whether the limit value is greater than or less than the
+starting value, respectively.
+</p>
+<p>The second input is an instructionlist.  The effect of <code>FOR</code> is to run
+that instructionlist repeatedly, assigning a new value to the control
+variable (the one named by the first member of the <var>forcontrol</var> list) each
+time.  First the starting value is assigned to the control variable.
+Then the value is compared to the limit value.  <code>FOR</code> is complete when the
+sign of <code>(current - limit)</code> is the same as the sign of the step size.  (If
+no explicit step size is provided, the instructionlist is always run at
+least once.  An explicit step size can lead to a zero-trip <code>FOR</code>, e.g.,
+<tt>FOR&nbsp;[I&nbsp;1&nbsp;0&nbsp;1]&nbsp;...</tt>)<!-- /@w -->. Otherwise, the instructionlist is run, then the step is added to the current value of the control variable and FOR returns to
+the comparison step.
+</p>
+<div class="example">
+<pre class="example">? for [i 2 7 1.5] [print :i]
+2
+3.5
+5
+6.5
+?
+</pre></div>
+
+<p>See <a href="usermanual.html#RUN">RUN</a> .
+</p>
+<hr>
+<a name="DOdWHILE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#WHILE" accesskey="n" rel="next">WHILE</a>, Previous: <a href="usermanual.html#FOR" accesskey="p" rel="prev">FOR</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="do_002ewhile"></a>
+<h4 class="unnumberedsubsec">do.while</h4>
+<a name="index-do_002ewhile"></a>
+
+<div class="example">
+<pre class="example">DO.WHILE instructionlist tfexpression		(library procedure)
+</pre></div>
+
+<p>command.  Repeatedly evaluates the <var>instructionlist</var> as long as the
+evaluated 
+remains <code>TRUE</code>.  Evaluates the first input first,
+so the <var>instructionlist</var> is always run at least once.  The
+<var>tfexpression</var> must be an expressionlist whose value when evaluated is
+<code>TRUE</code> or <code>FALSE</code>.
+</p>
+<hr>
+<a name="WHILE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#DOdUNTIL" accesskey="n" rel="next">DOdUNTIL</a>, Previous: <a href="usermanual.html#DOdWHILE" accesskey="p" rel="prev">DOdWHILE</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="while"></a>
+<h4 class="unnumberedsubsec">while</h4>
+<a name="index-while"></a>
+
+<div class="example">
+<pre class="example">WHILE tfexpression instructionlist		(library procedure)
+</pre></div>
+
+<p>command.  Repeatedly evaluates the <var>instructionlist</var> as long as the
+evaluated
+remains <code>TRUE</code>.  Evaluates the first input first,
+so the <var>instructionlist</var> may never be run at all.  The <var>tfexpression</var>
+must be an expressionlist whose value when evaluated is <code>TRUE</code> or <code>FALSE</code>.
+</p>
+<hr>
+<a name="DOdUNTIL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#UNTIL" accesskey="n" rel="next">UNTIL</a>, Previous: <a href="usermanual.html#WHILE" accesskey="p" rel="prev">WHILE</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="do_002euntil"></a>
+<h4 class="unnumberedsubsec">do.until</h4>
+<a name="index-do_002euntil"></a>
+
+<div class="example">
+<pre class="example">DO.UNTIL instructionlist tfexpression		(library procedure)
+</pre></div>
+
+<p>command.  Repeatedly evaluates the <var>instructionlist</var> as long as the
+evaluated
+remains <code>FALSE</code>.  Evaluates the first input
+first, so the <var>instructionlist</var> is always run at least once.  The
+<var>tfexpression</var> must be an expressionlist whose value when evaluated is
+<code>TRUE</code> or <code>FALSE</code>.
+</p>
+<hr>
+<a name="UNTIL"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CASE" accesskey="n" rel="next">CASE</a>, Previous: <a href="usermanual.html#DOdUNTIL" accesskey="p" rel="prev">DOdUNTIL</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="until"></a>
+<h4 class="unnumberedsubsec">until</h4>
+<a name="index-until"></a>
+
+<div class="example">
+<pre class="example">UNTIL tfexpression instructionlist		(library procedure)
+</pre></div>
+
+<p>command.  Repeatedly evaluates the <var>instructionlist</var> as long as the
+evaluated
+remains <code>FALSE</code>.  Evaluates the first input
+first, so the <var>instructionlist</var> may never be run at all.  The
+<var>tfexpression</var> must be an expressionlist whose value when evaluated is
+<code>TRUE</code> or <code>FALSE</code>.
+</p>
+<hr>
+<a name="CASE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#COND" accesskey="n" rel="next">COND</a>, Previous: <a href="usermanual.html#UNTIL" accesskey="p" rel="prev">UNTIL</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="case"></a>
+<h4 class="unnumberedsubsec">case</h4>
+<a name="index-case"></a>
+
+<div class="example">
+<pre class="example">CASE value clauses					(library procedure)
+</pre></div>
+
+<p>command or operation.  The second input is a list of lists (clauses);
+each clause is a list whose first element is either a list of values
+or the word <code>ELSE</code> and whose butfirst is a Logo expression or
+instruction.  <code>CASE</code> examines the clauses in order.  If a clause begins
+with the word <code>ELSE</code> (upper or lower case), then the butfirst of that
+clause is evaluated and <code>CASE</code> outputs its value, if any.  If the first
+input to CASE is a member of the first element of a clause, then the
+butfirst of that clause is evaluated and <code>CASE</code> outputs its value, if
+any.  If neither of these conditions is met, then <code>CASE</code> goes on to the
+next clause.  If no clause is satisfied, <code>CASE</code> does nothing.  
+Example:
+</p>
+<div class="example">
+<pre class="example">to vowelp :letter
+output case :letter [ [[a e i o u] &quot;true] [else &quot;false] ]
+end
+</pre></div>
+
+<hr>
+<a name="COND"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#CASE" accesskey="p" rel="prev">CASE</a>, Up: <a href="usermanual.html#CONTROL" accesskey="u" rel="up">CONTROL</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="cond"></a>
+<h4 class="unnumberedsubsec">cond</h4>
+<a name="index-cond"></a>
+
+<div class="example">
+<pre class="example">COND clauses						(library procedure)
+</pre></div>
+
+<p>command or operation.  The input is a list of lists (clauses); each
+clause is a list whose first element is either an expression whose
+value is <code>TRUE</code> or <code>FALSE</code>, or the word <code>ELSE</code>, and whose butfirst is a Logo
+expression or instruction.  <code>COND</code> examines the clauses in order.  If a
+clause begins with the word <code>ELSE</code> (upper or lower case), then the
+butfirst of that clause is evaluated and <code>CASE</code> outputs its value, if
+any.  Otherwise, the first element of the clause is evaluated; the
+resulting value must be <code>TRUE</code> or <code>FALSE</code>.  If it&rsquo;s <code>TRUE</code>, then the
+butfirst of that clause is evaluated and <code>COND</code> outputs its value, if
+any.  If the value is <code>FALSE</code>, then <code>COND</code> goes on to the next clause.  If
+no clause is satisfied, <code>COND</code> does nothing.  Example:
+</p>
+<div class="example">
+<pre class="example">to evens :numbers	; select even numbers from a list
+op cond [ [[emptyp :numbers] []]
+          [[evenp first :numbers]	; assuming EVENP is defined
+           fput first :numbers evens butfirst :numbers]
+          [else evens butfirst :numbers] ]
+end
+</pre></div>
+
+<hr>
+<a name="TEMPLATE_002dBASED-ITERATION"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#CONTROL" accesskey="p" rel="prev">CONTROL</a>, Up: <a href="usermanual.html#CONTROL-STRUCTURES" accesskey="u" rel="up">CONTROL STRUCTURES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Template_002dbased-Iteration"></a>
+<h3 class="section">9.2 Template-based Iteration</h3>
+<a name="index-template"></a>
+
+<p>The procedures in this section are iteration tools based on the idea of a
+<em>template.</em>  This is a generalization of an instruction list or an
+expression list in which <em>slots</em> are provided for the tool to insert varying
+data.  Four different forms of template can be used.
+</p>
+<p>The most commonly used form for a template is &lsquo;<samp>explicit-slot</samp>&rsquo; form, or
+&lsquo;<samp>question mark</samp>&rsquo; form.  Example:
+</p>
+<div class="example">
+<pre class="example">? show map [? * ?] [2 3 4 5]
+[4 9 16 25]
+?
+</pre></div>
+
+<p>In this example, the <code>MAP</code> tool evaluated the template <code>[?&nbsp;*&nbsp;?]</code><!-- /@w -->
+repeatedly, with each of the members of the data list <code>[2&nbsp;3&nbsp;4&nbsp;5]</code><!-- /@w -->
+substituted in turn for the question marks.  The same value was used for every
+question mark in a given evaluation.  Some tools allow for more than one datum
+to be substituted in parallel; in these cases the slots are indicated by
+<code>?1</code> for the first datum, <code>?2</code> for the second, and so on:
+</p>
+<div class="example">
+<pre class="example">? show (map [(word ?1 ?2 ?1)] [a b c] [d e f])
+[ada beb cfc]
+?
+</pre></div>
+
+<p>If the template wishes to compute the datum number, the form <code>(?&nbsp;1)</code><!-- /@w --> is
+equivalent to <code>?1</code>, so <code>(?&nbsp;?1)</code><!-- /@w --> means the datum whose number is given in
+datum number 1.  Some tools allow additional slot designations, as shown
+in the individual descriptions.
+</p>
+<p>The second form of template is the &lsquo;<samp>named-procedure</samp>&rsquo; form.  If the
+template is a word rather than a list, it is taken as the name of a procedure.
+That procedure must accept a number of inputs equal to the number of parallel
+data slots provided by the tool; the procedure is applied to all of the
+available data in order.  That is, if data <code>?1</code> through <code>?3</code> are
+available, the template <code>&quot;PROC</code> is equivalent to <tt>[PROC&nbsp;?1&nbsp;?2&nbsp;?3]</tt><!-- /@w -->.
+</p>
+<div class="example">
+<pre class="example">? show (map &quot;word [a b c] [d e f])
+[ad be cf]
+?
+
+to dotprod :a :b	; vector dot product
+op apply &quot;sum (map &quot;product :a :b)
+end
+</pre></div>
+
+<p>The third form of template is &lsquo;<samp>named-slot</samp>&rsquo; or &lsquo;<samp>lambda</samp>&rsquo; form.  This
+form is indicated by a template list containing more than one member, whose
+first member is itself a list.  The first member is taken as a list of names;
+local variables are created with those names and given the available data in
+order as their values.  The number of names must equal the number of available
+data.  This form is needed primarily when one iteration tool must be used
+within the template list of another, and the <code>?</code> notation would be ambiguous in
+the inner template.  Example:
+</p>
+<div class="example">
+<pre class="example">to matmul :m1 :m2 [:tm2 transpose :m2]	; multiply two matrices
+output map [[row] map [[col] dotprod :row :col] :tm2] :m1
+end
+</pre></div>
+
+<p>The fourth form is &lsquo;<samp>procedure text</samp>&rsquo; form, a variant of lambda form.  In
+this form, the template list contains at least two members, all of which are
+lists.  This is the form used by the <code>DEFINE</code> and <code>TEXT</code> primitives,
+and <code>APPLY</code> accepts it so that the text of a defined procedure can be
+used as a template.
+</p>
+<p>Note:  The fourth form of template is interpreted differently from the others,
+in that Logo considers it to be an independent defined procedure for the
+purposes of <code>OUTPUT</code> and <code>STOP</code>.  For example, the following two
+instructions are identical:
+</p>
+<div class="example">
+<pre class="example">? print apply [[x] :x+3] [5]
+8
+? print apply [[x] [output :x+3]] [5]
+8
+</pre></div>
+
+<p>although the first instruction is in named-slot form and the second is in
+procedure-text form.  The named-slot form can be understood as telling Logo to
+evaluate the expression <tt>:x+3</tt><!-- /@w --> in place of the entire invocation of
+apply, with the variable <code>x</code> temporarily given the value <code>5</code>.  The
+procedure-text form can be understood as invoking the procedure
+</p>
+<div class="example">
+<pre class="example">to foo :x
+output :x+3
+end
+</pre></div>
+
+<p>with input <code>5</code>, but without actually giving the procedure a name.  If
+the use of <code>OUTPUT</code> were interchanged in these two examples, we&rsquo;d get errors:
+</p>
+<div class="example">
+<pre class="example">? print apply [[x] output :x+3] [5]
+Can only use output inside a procedure
+? print apply [[x] [:x+3]] [5]
+You don't say what to do with 8
+</pre></div>
+
+<p>The named-slot form can be used with <code>STOP</code> or <code>OUTPUT</code> inside a procedure,
+to stop the enclosing procedure.
+</p>
+<p>The following iteration tools are extended versions of the ones in Appendix
+B of the book <cite>Computer Science Logo Style, Volume 3:  Advanced Topics</cite> by
+Brian Harvey [MIT Press, 1987].  The extensions are primarily to allow for
+variable numbers of inputs.
+</p>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#APPLY" accesskey="1">APPLY</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#INVOKE" accesskey="2">INVOKE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FOREACH" accesskey="3">FOREACH</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MAP" accesskey="4">MAP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MAPdSE" accesskey="5">MAPdSE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">MAP.SE
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FILTER" accesskey="6">FILTER</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FIND" accesskey="7">FIND</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#REDUCE" accesskey="8">REDUCE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CROSSMAP" accesskey="9">CROSSMAP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CASCADE">CASCADE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CASCADEd2">CASCADEd2</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">CASCADE.2
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#TRANSFER">TRANSFER</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="APPLY"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#INVOKE" accesskey="n" rel="next">INVOKE</a>, Previous: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="p" rel="prev">TEMPLATE-BASED ITERATION</a>, Up: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="u" rel="up">TEMPLATE-BASED ITERATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="apply"></a>
+<h4 class="unnumberedsubsec">apply</h4>
+<a name="index-apply"></a>
+
+<div class="example">
+<pre class="example">APPLY template inputlist
+</pre></div>
+
+<p>command or operation.  Runs the <var>template</var>, filling its slots with the
+members of <var>inputlist.</var>  The number of members in <var>inputlist</var> must be an
+acceptable number of slots for <var>template</var>.  It is illegal to apply the
+primitive <code>TO</code> as a template, but anything else is okay.  <code>APPLY</code> outputs
+what <var>template</var> outputs, if anything.
+</p>
+
+<hr>
+<a name="INVOKE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FOREACH" accesskey="n" rel="next">FOREACH</a>, Previous: <a href="usermanual.html#APPLY" accesskey="p" rel="prev">APPLY</a>, Up: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="u" rel="up">TEMPLATE-BASED ITERATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="invoke"></a>
+<h4 class="unnumberedsubsec">invoke</h4>
+<a name="index-invoke"></a>
+
+<div class="example">
+<pre class="example">INVOKE template input				(library procedure)
+(INVOKE template input1 input2 ...)
+</pre></div>
+
+<p>command or operation.  Exactly like <code>APPLY</code> except that the inputs are
+provided as separate expressions rather than in a list.
+</p>
+<hr>
+<a name="FOREACH"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MAP" accesskey="n" rel="next">MAP</a>, Previous: <a href="usermanual.html#INVOKE" accesskey="p" rel="prev">INVOKE</a>, Up: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="u" rel="up">TEMPLATE-BASED ITERATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="foreach"></a>
+<h4 class="unnumberedsubsec">foreach</h4>
+<a name="index-foreach"></a>
+
+<div class="example">
+<pre class="example">FOREACH data template				(library procedure)
+(FOREACH data1 data2 ... template)
+</pre></div>
+
+<p>command.  Evaluates the <var>template</var> list repeatedly, once for each member
+of the <var>data</var> list.  If more than one <var>data</var> list are given, each of them
+must be the same length.  (The <var>data</var> inputs can be words, in which case
+the template is evaluated once for each character.)
+</p>
+<p>In a template, the symbol <code>?REST</code> represents the portion of the
+<var>data</var> input to the right of the member currently being used as the
+<code>?</code> slot-filler.  That is, if the <var>data</var> input is
+<code>[A&nbsp;B&nbsp;C&nbsp;D&nbsp;E]</code><!-- /@w --> and the template is being evaluated with <code>?</code>
+replaced by <code>B</code>, then <code>?REST</code> would be replaced by
+<code>[C&nbsp;D&nbsp;E]</code><!-- /@w -->.  If multiple parallel slots are used, then
+<tt>(?REST&nbsp;1)</tt><!-- /@w --> goes with ?1, etc.
+</p>
+<p>In a template, the symbol <code>#</code> represents the position in the <var>data</var>
+input of the member currently being used as the <code>?</code> slot-filler.  That is, if
+the data input is <code>[A&nbsp;B&nbsp;C&nbsp;D&nbsp;E]</code><!-- /@w --> and the template is being evaluated with
+<code>?</code> replaced by <code>B</code>, then <code>#</code> would be replaced by <code>2</code>.
+</p>
+<hr>
+<a name="MAP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MAPdSE" accesskey="n" rel="next">MAPdSE</a>, Previous: <a href="usermanual.html#FOREACH" accesskey="p" rel="prev">FOREACH</a>, Up: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="u" rel="up">TEMPLATE-BASED ITERATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="map"></a>
+<h4 class="unnumberedsubsec">map</h4>
+<a name="index-map"></a>
+
+<div class="example">
+<pre class="example">MAP template data				(library procedure)
+(MAP template data1 data2 ...)
+</pre></div>
+
+<p>outputs a word or list, depending on the type of the <var>data</var> input, of the
+same length as that <var>data</var> input.  (If more than one <var>data</var> input are
+given, the output is of the same type as <var>data1</var>.)  Each member of the
+output is the result of evaluating the <var>template</var> list, filling the slots
+with the corresponding member(s) of the <var>data</var> input(s).  (All <var>data</var>
+inputs must be the same length.)  In the case of a word output, the results of
+the template evaluation must be words, and they are concatenated with
+<code>WORD</code>.
+</p>
+<p>In a template, the symbol <code>?REST</code> represents the portion of the data
+input to the right of the member currently being used as the <code>?</code>
+slot-filler.  That is, if the <var>data</var> input is <code>[A&nbsp;B&nbsp;C&nbsp;D&nbsp;E]</code><!-- /@w --> and
+the <var>template</var> is being evaluated with <code>?</code> replaced by <code>B</code>, then
+<code>?REST</code> would be replaced by <code>[C&nbsp;D&nbsp;E]</code><!-- /@w -->. If multiple parallel
+slots are used, then <tt>(?REST&nbsp;1)</tt><!-- /@w --> goes with <code>?1</code>, etc.
+</p>
+<p>In a template, the symbol <code>#</code> represents the position in the <var>data</var>
+input of the member currently being used as the <code>?</code> slot-filler.  That
+is, if the data input is <code>[A&nbsp;B&nbsp;C&nbsp;D&nbsp;E]</code><!-- /@w --> and the template is being
+evaluated with <code>?</code> replaced by <code>B</code>, then <code>#</code> would be replaced
+by <code>2</code>.
+</p>
+<p>See <a href="usermanual.html#WORD">WORD</a> .
+</p>
+<hr>
+<a name="MAPdSE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FILTER" accesskey="n" rel="next">FILTER</a>, Previous: <a href="usermanual.html#MAP" accesskey="p" rel="prev">MAP</a>, Up: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="u" rel="up">TEMPLATE-BASED ITERATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="map_002ese"></a>
+<h4 class="unnumberedsubsec">map.se</h4>
+<a name="index-map_002ese"></a>
+
+<div class="example">
+<pre class="example">MAP.SE template data				(library procedure)
+(MAP.SE template data1 data2 ...)
+</pre></div>
+
+<p>outputs a list formed by evaluating the <var>template</var> list repeatedly and
+concatenating the results using <code>SENTENCE</code>.  That is, the members of the
+output are the members of the results of the evaluations.  The output
+list might, therefore, be of a different length from that of the <var>data</var>
+input(s).  (If the result of an evaluation is the empty list, it
+contributes nothing to the final output.)  The <var>data</var> inputs may be words
+or lists.
+</p>
+<p>In a template, the symbol <code>?REST</code> represents the portion of the data
+input to the right of the member currently being used as the <code>?</code>
+slot-filler.  That is, if the data input is <code>[A&nbsp;B&nbsp;C&nbsp;D&nbsp;E]</code><!-- /@w --> and the
+template is being evaluated with <code>?</code> replaced by <code>B</code>, then
+<code>?REST</code> would be replaced by <code>[C&nbsp;D&nbsp;E]</code><!-- /@w -->. If multiple parallel
+slots are used, then <tt>(?REST&nbsp;1)</tt><!-- /@w --> goes with <code>?1</code>, etc.
+</p>
+<p>In a template, the symbol <code>#</code> represents the position in the <var>data</var>
+input of the member currently being used as the <code>?</code> slot-filler.  That
+is, if the data input is <code>[A&nbsp;B&nbsp;C&nbsp;D&nbsp;E]</code><!-- /@w --> and the template is being
+evaluated with <code>?</code> replaced by <code>B</code>, then <code>#</code> would be replaced
+by <code>2</code>.
+</p>
+<p>See <a href="usermanual.html#SENTENCE">SENTENCE</a> .
+</p>
+<hr>
+<a name="FILTER"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FIND" accesskey="n" rel="next">FIND</a>, Previous: <a href="usermanual.html#MAPdSE" accesskey="p" rel="prev">MAPdSE</a>, Up: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="u" rel="up">TEMPLATE-BASED ITERATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="filter"></a>
+<h4 class="unnumberedsubsec">filter</h4>
+<a name="index-filter"></a>
+
+<div class="example">
+<pre class="example">FILTER tftemplate data				(library procedure)
+</pre></div>
+
+<p>outputs a word or list, depending on the type of the <var>data</var> input,
+containing a subset of the members (for a list) or characters (for a
+word) of the input.  The template is evaluated once for each member or
+character of the data, and it must produce a <code>TRUE</code> or <code>FALSE</code> value.  If
+the value is <code>TRUE</code>, then the corresponding input constituent is included
+in the output.
+</p>
+<div class="example">
+<pre class="example">? print filter &quot;vowelp &quot;elephant 
+eea 
+?
+</pre></div>
+
+<p>In a template, the symbol <code>?REST</code> represents the portion of the
+<var>data</var> input to the right of the member currently being used as the
+<code>?</code> slot-filler.  That is, if the data input is <code>[A&nbsp;B&nbsp;C&nbsp;D&nbsp;E]</code><!-- /@w -->
+and the template is being evaluated with <code>?</code> replaced by <code>B</code>, then
+<code>?REST</code> would be replaced by <code>[C&nbsp;D&nbsp;E]</code><!-- /@w -->.
+</p>
+<p>In a template, the symbol <code>#</code> represents the position in the <var>data</var>
+input of the member currently being used as the <code>?</code> slot-filler.  That
+is, if the data input is <code>[A&nbsp;B&nbsp;C&nbsp;D&nbsp;E]</code><!-- /@w --> and the template is being
+evaluated with <code>?</code> replaced by <code>B</code>, then <code>#</code> would be replaced
+by <code>2</code>.
+</p>
+<hr>
+<a name="FIND"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#REDUCE" accesskey="n" rel="next">REDUCE</a>, Previous: <a href="usermanual.html#FILTER" accesskey="p" rel="prev">FILTER</a>, Up: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="u" rel="up">TEMPLATE-BASED ITERATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="find"></a>
+<h4 class="unnumberedsubsec">find</h4>
+<a name="index-find"></a>
+
+<div class="example">
+<pre class="example">FIND tftemplate data				(library procedure)
+</pre></div>
+
+<p>outputs the first constituent of the <var>data</var> input (the first member of a
+list, or the first character of a word) for which the value produced by
+evaluating the <var>template</var> with that consituent in its slot is <code>TRUE</code>.
+If there is no such constituent, the empty list is output.
+</p>
+<p>In a template, the symbol <code>?REST</code> represents the portion of the
+<var>data</var> input to the right of the member currently being used as the
+<code>?</code> slot-filler.  That is, if the data input is <code>[A&nbsp;B&nbsp;C&nbsp;D&nbsp;E]</code><!-- /@w -->
+and the template is being evaluated with <code>?</code> replaced by <code>B</code>, then
+<code>?REST</code> would be replaced by <code>[C&nbsp;D&nbsp;E]</code><!-- /@w -->.
+</p>
+<p>In a template, the symbol <code>#</code> represents the position in the <var>data</var>
+input of the member currently being used as the <code>?</code> slot-filler.  That
+is, if the data input is <code>[A&nbsp;B&nbsp;C&nbsp;D&nbsp;E]</code><!-- /@w --> and the template is being
+evaluated with <code>?</code> replaced by <code>B</code>, then <code>#</code> would be replaced
+by <code>2</code>.
+</p>
+<hr>
+<a name="REDUCE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CROSSMAP" accesskey="n" rel="next">CROSSMAP</a>, Previous: <a href="usermanual.html#FIND" accesskey="p" rel="prev">FIND</a>, Up: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="u" rel="up">TEMPLATE-BASED ITERATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="reduce"></a>
+<h4 class="unnumberedsubsec">reduce</h4>
+<a name="index-reduce"></a>
+
+<div class="example">
+<pre class="example">REDUCE template data				(library procedure)
+</pre></div>
+
+<p>outputs the result of applying the <var>template</var> to accumulate the members of
+the <var>data</var> input.  The template must be a two-slot function.  Typically it
+is an associative function name like <code>SUM</code>.  If the <var>data</var> input has
+only one constituent (member in a list or character in a word), the output is
+that consituent.  Otherwise, the template is first applied with <code>?1</code>
+filled with the next-to-last consitient and <code>?2</code> with the last
+constituent.  Then, if there are more constituents, the template is applied
+with <code>?1</code> filled with the next constituent to the left and <code>?2</code> with
+the result from the previous evaluation.  This process continues until all
+constituents have been used.  The data input may not be empty.
+</p>
+<p>Note: If the template is, like <code>SUM</code>, the name of a procedure that is
+capable of accepting arbitrarily many inputs, it is more efficient to
+use <code>APPLY</code> instead of <code>REDUCE</code>.  The latter is good for associative
+procedures that have been written to accept exactly two inputs:
+</p>
+<div class="example">
+<pre class="example">to max :a :b
+output ifelse :a &gt; :b [:a] [:b]
+end
+
+print reduce &quot;max [...]
+</pre></div>
+
+<p>Alternatively, <code>REDUCE</code> can be used to write <code>MAX</code> as a procedure
+that accepts any number of inputs, as <code>SUM</code> does:
+</p>
+<div class="example">
+<pre class="example">to max [:inputs] 2
+if emptyp :inputs ~
+   [(throw &quot;error [not enough inputs to max])]
+output reduce [ifelse ?1 &gt; ?2 [?1] [?2]] :inputs
+end
+</pre></div>
+
+<hr>
+<a name="CROSSMAP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CASCADE" accesskey="n" rel="next">CASCADE</a>, Previous: <a href="usermanual.html#REDUCE" accesskey="p" rel="prev">REDUCE</a>, Up: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="u" rel="up">TEMPLATE-BASED ITERATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="crossmap"></a>
+<h4 class="unnumberedsubsec">crossmap</h4>
+<a name="index-crossmap"></a>
+
+<div class="example">
+<pre class="example">CROSSMAP template listlist			(library procedure)
+(CROSSMAP template data1 data2 ...)
+</pre></div>
+
+<p>outputs a list containing the results of template evaluations.  Each
+<var>data</var> list contributes to a slot in the template; the number of slots is
+equal to the number of <var>data</var> list inputs.  As a special case, if only one
+<var>data</var> list input is given, that list is taken as a list of data lists,
+and each of its members contributes values to a slot.  <code>CROSSMAP</code> differs
+from <code>MAP</code> in that instead of taking members from the data inputs in
+parallel, it takes all possible combinations of members of data inputs,
+which need not be the same length.
+</p>
+<div class="example">
+<pre class="example">? show (crossmap [word ?1 ?2] [a b c] [1 2 3 4])
+[a1 a2 a3 a4 b1 b2 b3 b4 c1 c2 c3 c4]
+?
+</pre></div>
+
+<p>For compatibility with the version in the first edition of CSLS
+<a name="DOCF1" href="usermanual.html#FOOT1"><sup>1</sup></a>, <code>CROSSMAP</code> templates may
+use the notation <code>:1</code> instead of <code>?1</code> to indicate slots.
+</p>
+<p>See <a href="usermanual.html#MAP">MAP</a> .
+</p>
+<hr>
+<a name="CASCADE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CASCADEd2" accesskey="n" rel="next">CASCADEd2</a>, Previous: <a href="usermanual.html#CROSSMAP" accesskey="p" rel="prev">CROSSMAP</a>, Up: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="u" rel="up">TEMPLATE-BASED ITERATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="cascade"></a>
+<h4 class="unnumberedsubsec">cascade</h4>
+<a name="index-cascade"></a>
+
+<div class="example">
+<pre class="example">CASCADE endtest template startvalue		(library procedure)
+(CASCADE endtest tmp1 sv1 tmp2 sv2 ...)
+(CASCADE endtest tmp1 sv1 tmp2 sv2 ... finaltemplate)
+</pre></div>
+
+<p>outputs the result of applying a template (or several templates, as
+explained below) repeatedly, with a given value filling the slot the
+first time, and the result of each application filling the slot for the
+following application.
+</p>
+<p>In the simplest case, <code>CASCADE</code> has three inputs.  The second input is a
+one-slot expression template.  That template is evaluated some number of
+times (perhaps zero).  On the first evaluation, the slot is filled with
+the third input; on subsequent evaluations, the slot is filled with the
+result of the previous evaluation.  The number of evaluations is
+determined by the first input.  This can be either a nonnegative
+integer, in which case the template is evaluated that many times, or a
+predicate expression template, in which case it is evaluated (with the
+same slot filler that will be used for the evaluation of the second
+input) repeatedly, and the <code>CASCADE</code> evaluation continues as long as the
+predicate value is <code>FALSE</code>.  (In other words, the predicate template
+indicates the condition for stopping.)
+</p>
+<p>If the template is evaluated zero times, the output from <code>CASCADE</code> is the
+third (<var>startvalue</var>) input.  Otherwise, the output is the value produced
+by the last template evaluation.
+</p>
+<p><code>CASCADE</code> templates may include the symbol <code>#</code> to represent the
+number of times the template has been evaluated.  This slot is filled with 1
+for the first evaluation, 2 for the second, and so on.
+</p>
+<div class="example">
+<pre class="example">? show cascade 5 [lput # ?] []
+[1 2 3 4 5]
+? show cascade [vowelp first ?] [bf ?] &quot;spring
+ing
+? show cascade 5 [# * ?] 1
+120
+?
+</pre></div>
+
+<p>Several cascaded results can be computed in parallel by providing additional
+template-startvalue pairs as inputs to <code>CASCADE</code>.  In this case, all
+templates (including the endtest template, if used) are multi-slot, with the
+number of slots equal to the number of pairs of inputs.  In each round of
+evaluations, <code>?2</code>, for example, represents the result of evaluating the
+second template in the previous round.  If the total number of inputs
+(including the first endtest input) is odd, then the output from CASCADE is
+the final value of the first template.  If the total number of inputs is even,
+then the last input is a template that is evaluated once, after the end test
+is satisfied, to determine the output from <code>CASCADE</code>.
+</p>
+<div class="example">
+<pre class="example">to fibonacci :n
+output (cascade :n [?1 + ?2] 1 [?1] 0)
+end
+
+to piglatin :word
+output (cascade [vowelp first ?] ~
+                [word bf ? first ?] ~
+                :word ~
+                [word ? &quot;ay])
+end
+</pre></div>
+
+<hr>
+<a name="CASCADEd2"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#TRANSFER" accesskey="n" rel="next">TRANSFER</a>, Previous: <a href="usermanual.html#CASCADE" accesskey="p" rel="prev">CASCADE</a>, Up: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="u" rel="up">TEMPLATE-BASED ITERATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="cascade_002e2"></a>
+<h4 class="unnumberedsubsec">cascade.2</h4>
+<a name="index-cascade_002e2"></a>
+
+<div class="example">
+<pre class="example">CASCADE.2 endtest temp1 startval1 temp2 startval2  (library procedure)
+</pre></div>
+
+<p>outputs the result of invoking <code>CASCADE</code> with the same inputs.  The only
+difference is that the default number of inputs is five instead of three.
+</p>
+<hr>
+<a name="TRANSFER"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#CASCADEd2" accesskey="p" rel="prev">CASCADEd2</a>, Up: <a href="usermanual.html#TEMPLATE_002dBASED-ITERATION" accesskey="u" rel="up">TEMPLATE-BASED ITERATION</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="transfer"></a>
+<h4 class="unnumberedsubsec">transfer</h4>
+<a name="index-transfer"></a>
+
+<div class="example">
+<pre class="example">TRANSFER endtest template inbasket		(library procedure)
+</pre></div>
+
+<p>outputs the result of repeated evaluation of the <var>template</var>.  The template
+is evaluated once for each member of the list <var>inbasket</var>.  <code>TRANSFER</code>
+maintains an <em>outbasket</em> that is initially the empty list.  After each
+evaluation of the template, the resulting value becomes the new
+outbasket.
+</p>
+<p>In the template, the symbol <code>?IN</code> represents the current member from the
+inbasket; the symbol <code>?OUT</code> represents the entire current outbasket.
+Other slot symbols should not be used.
+</p>
+<p>If the first (<var>endtest</var>) input is an empty list, evaluation continues
+until all inbasket members have been used.  If not, the first input must
+be a predicate expression template, and evaluation continues until
+either that template&rsquo;s value is <code>TRUE</code> or the inbasket is used up.
+</p>
+
+
+<hr>
+<a name="MACROS"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ERROR-PROCESSING" accesskey="n" rel="next">ERROR PROCESSING</a>, Previous: <a href="usermanual.html#CONTROL-STRUCTURES" accesskey="p" rel="prev">CONTROL STRUCTURES</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Macros"></a>
+<h2 class="chapter">10 Macros</h2>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#dMACRO" accesskey="1">dMACRO</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#dDEFMACRO" accesskey="2">dDEFMACRO</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MACROP" accesskey="3">MACROP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MACROEXPAND" accesskey="4">MACROEXPAND</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="dMACRO"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#dDEFMACRO" accesskey="n" rel="next">dDEFMACRO</a>, Previous: <a href="usermanual.html#MACROS" accesskey="p" rel="prev">MACROS</a>, Up: <a href="usermanual.html#MACROS" accesskey="u" rel="up">MACROS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="g_t_002emacro"></a>
+<h3 class="unnumberedsec">.macro</h3>
+<a name="index-_002emacro"></a>
+<a name="index-_002edefmacro"></a>
+
+<div class="example">
+<pre class="example">.MACRO procname :input1 :input2 ...			(special form)
+.DEFMACRO procname text
+</pre></div>
+
+<p>A macro is a special kind of procedure whose output is evaluated as Logo
+instructions in the context of the macro&rsquo;s caller.  <code>.MACRO</code> is exactly
+like <code>TO</code> except that the new procedure becomes a macro; <code>.DEFMACRO</code>
+is exactly like <code>DEFINE</code> with the same exception.
+</p>
+<p>Macros are useful for inventing new control structures comparable to
+<code>REPEAT</code>, <code>IF</code>, and so on.  Such control structures can almost, but
+not quite, be duplicated by ordinary Logo procedures.  For example, here is an
+ordinary procedure version of <code>REPEAT</code>:
+</p>
+<div class="example">
+<pre class="example">to my.repeat :num :instructions
+if :num=0 [stop]
+run :instructions
+my.repeat :num-1 :instructions
+end
+</pre></div>
+
+<p>This version works fine for most purposes, e.g.,
+</p>
+<div class="example">
+<pre class="example">my.repeat 5 [print &quot;hello]
+</pre></div>
+
+<p>But it doesn&rsquo;t work if the instructions to be carried out include
+<code>OUTPUT</code>, <code>STOP</code>, or <code>LOCAL</code>.  For example, consider this
+procedure:
+</p>
+<div class="example">
+<pre class="example">to example
+print [Guess my secret word.  You get three guesses.]
+repeat 3 [type &quot;|?? | ~
+          if readword = &quot;secret [pr &quot;Right! stop]]
+print [Sorry, the word was &quot;secret&quot;!]
+end
+</pre></div>
+
+<p>This procedure works as written, but if <code>MY.REPEAT</code> is used instead of
+<code>REPEAT</code>, it won&rsquo;t work because the <code>STOP</code> will stop
+<code>MY.REPEAT</code> instead of stopping <code>EXAMPLE</code> as desired.
+</p>
+<p>The solution is to make <code>MY.REPEAT</code> a macro.  Instead of actually carrying
+out the computation, a macro must return a list containing Logo
+instructions.  The contents of that list are evaluated as if they
+appeared in place of the call to the macro.  Here&rsquo;s a macro version of
+<code>REPEAT</code>:
+</p>
+<div class="example">
+<pre class="example">.macro my.repeat :num :instructions
+if :num=0 [output []]
+output sentence :instructions ~
+                (list &quot;my.repeat :num-1 :instructions)
+end
+</pre></div>
+
+<p>Every macro is an operation &mdash; it must always output something.  Even in
+the base case, <code>MY.REPEAT</code> outputs an empty instruction list.  To show how
+<code>MY.REPEAT</code> works, let&rsquo;s take the example
+</p>
+<div class="example">
+<pre class="example">my.repeat 5 [print &quot;hello]
+</pre></div>
+
+<p>For this example, <code>MY.REPEAT</code> will output the instruction list
+</p>
+<div class="example">
+<pre class="example">[print &quot;hello my.repeat 4 [print &quot;hello]]
+</pre></div>
+
+<p>Logo then executes these instructions in place of the original invocation of
+<code>MY.REPEAT</code>; this prints <code>hello</code> once and invokes another
+repetition.
+</p>
+<p>The technique just shown, although fairly easy to understand, has the
+defect of slowness because each repetition has to construct an
+instruction list for evaluation.  Another approach is to make <code>MY.REPEAT</code>
+a macro that works just like the non-macro version unless the
+instructions to be repeated include <code>OUTPUT</code> or <code>STOP</code>:
+</p>
+<div class="example">
+<pre class="example">.macro my.repeat :num :instructions
+catch &quot;repeat.catchtag ~
+      [op repeat.done runresult [repeat1 :num :instructions]]
+op []
+end
+
+to repeat1 :num :instructions
+if :num=0 [throw &quot;repeat.catchtag]
+run :instructions
+.maybeoutput repeat1 :num-1 :instructions
+end
+
+to repeat.done :repeat.result
+if emptyp :repeat.result [op [stop]]
+op list &quot;output quoted first :repeat.result
+end
+</pre></div>
+
+<p>If the instructions do not include <code>STOP</code> or <code>OUTPUT</code>, then
+<code>REPEAT1</code> will reach its base case and invoke <code>THROW</code>.  As a result,
+<code>MY.REPEAT</code>&rsquo;s last instruction line will output an empty list, so the
+evaluation of the macro result by the caller will do nothing.  But if a
+<code>STOP</code> or <code>OUTPUT</code> happens, then <code>REPEAT.DONE</code> will output a
+<code>STOP</code> or <code>OUTPUT</code> instruction that will be executed in the
+caller&rsquo;s context.
+</p>
+<p>The macro-defining commands have names starting with a dot because
+macros are an advanced feature of Logo; it&rsquo;s easy to get in trouble by
+defining a macro that doesn&rsquo;t terminate, or by failing to construct the
+instruction list properly.
+</p>
+<p>Lisp users should note that Logo macros are <em>not</em> special forms.  That is,
+the inputs to the macro are evaluated normally, as they would be for any
+other Logo procedure.  It&rsquo;s only the output from the macro that&rsquo;s
+handled unusually.
+</p>
+<p>Here&rsquo;s another example:
+</p>
+<div class="example">
+<pre class="example">.macro localmake :name :value
+output (list &quot;local          ~
+             word &quot;&quot; :name   ~
+             &quot;apply          ~
+             &quot;&quot;make          ~
+             (list :name :value))
+end
+</pre></div>
+
+<p>It&rsquo;s used this way:
+</p>
+<div class="example">
+<pre class="example">to try
+localmake &quot;garply &quot;hello
+print :garply
+end
+</pre></div>
+
+<p><code>LOCALMAKE</code> outputs the list
+</p>
+<div class="display">
+<pre class="display">[local &quot;garply apply &quot;make [garply hello]]
+</pre></div>
+
+<p>The reason for the use of <code>APPLY</code> is to avoid having to decide whether or
+not the second input to <code>MAKE</code> requires a quotation mark before it.  (In
+this case it would &mdash; <code>MAKE &quot;GARPLY &quot;HELLO</code> &mdash; but the quotation mark
+would be wrong if the value were a list.)
+</p>
+<p>It&rsquo;s often convenient to use the <tt>`</tt> function to construct the instruction
+list:
+</p>
+<div class="example">
+<pre class="example">.macro localmake :name :value
+op `[local ,[word &quot;&quot; :name] apply &quot;make [,[:name] ,[:value]]]
+end
+</pre></div>
+
+<p>On the other hand, <tt>`</tt> is pretty slow, since it&rsquo;s tree recursive and
+written in Logo.
+</p>
+<p>See <a href="usermanual.html#TO">TO</a> ,
+<a href="usermanual.html#DEFINE">DEFINE</a> ,
+<a href="usermanual.html#APPLY">APPLY</a> ,
+<a href="usermanual.html#STOP">STOP</a> ,
+<a href="usermanual.html#OUTPUT">OUTPUT</a> .
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#dDEFMACRO" accesskey="1">dDEFMACRO</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MACROP" accesskey="2">MACROP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#MACROEXPAND" accesskey="3">MACROEXPAND</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="dDEFMACRO"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MACROP" accesskey="n" rel="next">MACROP</a>, Previous: <a href="usermanual.html#dMACRO" accesskey="p" rel="prev">dMACRO</a>, Up: <a href="usermanual.html#MACROS" accesskey="u" rel="up">MACROS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="g_t_002edefmacro"></a>
+<h4 class="unnumberedsubsec">.defmacro</h4>
+
+<p>See <a href="usermanual.html#dMACRO">dMACRO</a> .
+</p>
+<hr>
+<a name="MACROP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#MACROEXPAND" accesskey="n" rel="next">MACROEXPAND</a>, Previous: <a href="usermanual.html#dDEFMACRO" accesskey="p" rel="prev">dDEFMACRO</a>, Up: <a href="usermanual.html#MACROS" accesskey="u" rel="up">MACROS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="macrop"></a>
+<h4 class="unnumberedsubsec">macrop</h4>
+<a name="index-macrop"></a>
+<a name="index-macro_003f"></a>
+
+<div class="example">
+<pre class="example">MACROP name
+MACRO? name
+</pre></div>
+
+<p>outputs <code>TRUE</code> if its input is the name of a macro.
+</p>
+<hr>
+<a name="MACROEXPAND"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#MACROP" accesskey="p" rel="prev">MACROP</a>, Up: <a href="usermanual.html#MACROS" accesskey="u" rel="up">MACROS</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="macroexpand"></a>
+<h4 class="unnumberedsubsec">macroexpand</h4>
+<a name="index-macroexpand"></a>
+
+<div class="example">
+<pre class="example">MACROEXPAND expr				(library procedure)
+</pre></div>
+
+<p>takes as its input a Logo expression that invokes a macro (that is, one
+that begins with the name of a macro) and outputs the the Logo
+expression into which the macro would translate the input expression.
+</p>
+<div class="example">
+<pre class="example">.macro localmake :name :value
+op `[local ,[word &quot;&quot; :name] apply &quot;make [,[:name] ,[:value]]]
+end
+
+? show macroexpand [localmake &quot;pi 3.14159]
+[local &quot;pi apply &quot;make [pi 3.14159]]
+</pre></div>
+
+
+
+<hr>
+<a name="ERROR-PROCESSING"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="n" rel="next">SPECIAL VARIABLES</a>, Previous: <a href="usermanual.html#MACROS" accesskey="p" rel="prev">MACROS</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Error-Processing"></a>
+<h2 class="chapter">11 Error Processing</h2>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERROR-CODES" accesskey="1">ERROR CODES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<p>If an error occurs, Logo takes the following steps.  First, if there is an
+available variable named <code>ERRACT</code>, Logo takes its value as an
+instructionlist and runs the instructions.  The operation <code>ERROR</code> may be
+used within the instructions (once) to examine the error condition.  If the
+instructionlist invokes <code>PAUSE</code>, the error message is printed before the
+pause happens.  Certain errors are <em>recoverable</em>; for one of those errors,
+if the instructionlist outputs a value, that value is used in place of the
+expression that caused the error.  (If <code>ERRACT</code> invokes <code>PAUSE</code> and
+the user then invokes <code>CONTINUE</code> with an input, that input becomes the
+output from <code>PAUSE</code> and therefore the output from the <code>ERRACT</code>
+instructionlist.)
+</p>
+<p>It is possible for an <code>ERRACT</code> instructionlist to produce an
+inappropriate value or no value where one is needed.  As a result, the same
+error condition could recur forever because of this mechanism.  To avoid that
+danger, if the same error condition occurs twice in a row from an
+<code>ERRACT</code> instructionlist without user interaction, the message
+&lsquo;<samp>Erract loop</samp>&rsquo; is printed and control returns to toplevel.  &quot;Without user
+interaction&quot; means that if <code>ERRACT</code> invokes <code>PAUSE</code> and the user
+provides an incorrect value, this loop prevention mechanism does not take
+effect and the user gets to try again.
+</p>
+<p>During the running of the <code>ERRACT</code> instructionlist, <code>ERRACT</code> is
+locally unbound, so an error in the <code>ERRACT</code> instructions themselves will
+not cause a loop.  In particular, an error during a pause will not cause a
+pause-within-a-pause unless the user reassigns the value <code>[PAUSE]</code> to
+<code>ERRACT</code> during the pause.  But such an error will not return to
+toplevel; it will remain within the original pause loop.
+</p>
+<p>If there is no available <code>ERRACT</code> value, Logo handles the error by
+generating an internal <tt>THROW&nbsp;&quot;ERROR</tt><!-- /@w -->.  (A user program can also
+generate an error condition deliberately by invoking <code>THROW</code>.)  If this
+throw is not caught by a <tt>CATCH&nbsp;&quot;ERROR</tt><!-- /@w --> in the user program, it is
+eventually caught either by the toplevel instruction loop or by a pause loop,
+which prints the error message. An invocation of <tt>CATCH&nbsp;&quot;ERROR</tt><!-- /@w --> in a
+user program locally unbinds <code>ERRACT</code>, so the effect is that whichever of
+<code>ERRACT</code> and <tt>CATCH&nbsp;&quot;ERROR</tt><!-- /@w --> is more local will take precedence.
+</p>
+<p>If a floating point overflow occurs during an arithmetic operation, or a
+two-input mathematical function (like <code>POWER</code>) is invoked with an illegal
+combination of inputs, the &lsquo;<samp>doesn't like</samp>&rsquo; message refers to the second
+operand, but should be taken as meaning the combination.
+</p>
+<p>See <a href="usermanual.html#ERRACT">ERRACT</a> ,
+<a href="usermanual.html#THROW">THROW</a> ,
+<a href="usermanual.html#ERROR">ERROR</a> ,
+<a href="usermanual.html#CATCH">CATCH</a> ,
+<a href="usermanual.html#PAUSE">PAUSE</a> ,
+<a href="usermanual.html#CONTINUE">CONTINUE</a> .
+</p>
+<hr>
+<a name="ERROR-CODES"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#ERROR-PROCESSING" accesskey="p" rel="prev">ERROR PROCESSING</a>, Up: <a href="usermanual.html#ERROR-PROCESSING" accesskey="u" rel="up">ERROR PROCESSING</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Error-Codes"></a>
+<h3 class="section">11.1 Error Codes</h3>
+<a name="index-errors"></a>
+
+<p>Here are the numeric codes that appear as the first member of the list
+output by <code>ERROR</code> when an error is caught, with the corresponding messages.
+Some messages may have two different codes depending on whether or not
+the error is recoverable (that is, a substitute value can be provided
+through the <code>ERRACT</code> mechanism) in the specific context.  Some messages are
+warnings rather than errors; these will not be caught.  Errors 0 and 32 are
+so bad that Logo exits immediately.
+</p>
+<div class="example">
+<pre class="example">  0	Fatal internal error&nbsp;&nbsp;<span class="roman">(can&rsquo;t be caught)</span>
+  1	Out of memory
+  2	Stack overflow
+  3	Turtle out of bounds
+  4	<var>proc</var> doesn't like <var>datum</var> as input&nbsp;&nbsp;<span class="roman">(not recoverable)</span>
+  5	<var>proc</var> didn't output to <var>proc</var>
+  6	Not enough inputs to <var>proc</var>
+  7	<code>proc</code> doesn't like <code>datum</code> as input&nbsp;&nbsp;<span class="roman">(recoverable)</span>
+  8	Too much inside ()'s
+  9 	You don't say what to do with <var>datum</var>
+ 10	')' not found
+ 11	<var>var</var> has no value
+ 12	Unexpected ')'
+ 13	I don't know how to <var>proc</var>&nbsp;&nbsp;<span class="roman">(recoverable)</span>
+ 14	Can't find catch tag for <var>throwtag</var>
+ 15	<var>proc</var> is already defined
+ 16	Stopped
+ 17	Already dribbling
+ 18	File system error
+ 19	Assuming you mean IFELSE, not IF&nbsp;&nbsp;<span class="roman">(warning only)</span>
+ 20	<var>var</var> shadowed by local in procedure call&nbsp;&nbsp;<span class="roman">(warning only)</span>
+ 21	Throw &quot;Error
+ 22	<var>proc</var> is a primitive
+ 23	Can't use TO inside a procedure
+ 24	I don't know how to <var>proc</var>&nbsp;&nbsp;<span class="roman">(not recoverable)</span>
+ 25	IFTRUE/IFFALSE without TEST
+ 26	Unexpected ']'
+ 27	Unexpected '}'
+ 28	Couldn't initialize graphics
+ 29	Macro returned <var>value</var> instead of a list
+ 30	You don't say what to do with <var>value</var>
+ 31	Can only use STOP or OUTPUT inside a procedure
+ 32	APPLY doesn't like <var>badthing</var> as input
+ 33	END inside multi-line instruction
+ 34	Really out of memory&nbsp;&nbsp;<span class="roman">(can&rsquo;t be caught)</span>
+ 35	user-generated error message (THROW &quot;ERROR <var>message</var>)
+ 36	END inside multi-line instruction
+ 37	Bad default expression for optional input: <var>expr</var>
+ 38	Can't use OUTPUT or STOP inside RUNRESULT
+ 39 	Assuming you meant 'FD 100', not FD100&nbsp;&nbsp;<span class="roman">(or similar)</span>
+ 40	I can't open file <var>filename</var>
+ 41	File <var>filename</var> already open
+ 42	File <var>filename</var> not open
+ 43	Runlist [<var>expr</var> <var>expr</var>] has more than one expression.
+</pre></div>
+
+
+<hr>
+<a name="SPECIAL-VARIABLES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#INTERNATIONALIZATION" accesskey="n" rel="next">INTERNATIONALIZATION</a>, Previous: <a href="usermanual.html#ERROR-PROCESSING" accesskey="p" rel="prev">ERROR PROCESSING</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Special-Variables"></a>
+<h2 class="chapter">12 Special Variables</h2>
+
+<p>Logo takes special action if any of the following variable names exists.
+They follow the normal scoping rules, so a procedure can locally set one
+of them to limit the scope of its effect.  Initially, no variables exist
+except for <code>ALLOWGETSET</code>, <code>CASEIGNOREDP</code>, and
+<code>UNBURYONEDIT</code>, which are <code>TRUE</code> and buried.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ALLOWGETSET" accesskey="1">ALLOWGETSET</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BUTTONACT" accesskey="2">BUTTONACT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CASEIGNOREDP" accesskey="3">CASEIGNOREDP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#COMMANDLINE" accesskey="4">COMMANDLINE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERRACT" accesskey="5">ERRACT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FULLPRINTP" accesskey="6">FULLPRINTP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#KEYACT" accesskey="7">KEYACT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOADNOISILY" accesskey="8">LOADNOISILY</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PRINTDEPTHLIMIT" accesskey="9">PRINTDEPTHLIMIT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PRINTWIDTHLIMIT">PRINTWIDTHLIMIT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#REDEFP">REDEFP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#STARTUP">STARTUP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#UNBURYONEDIT">UNBURYONEDIT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#USEALTERNATENAMES">USEALTERNATENAMES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOGOVERSION">LOGOVERSION</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOGOPLATFORM">LOGOPLATFORM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="ALLOWGETSET"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#BUTTONACT" accesskey="n" rel="next">BUTTONACT</a>, Previous: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="p" rel="prev">SPECIAL VARIABLES</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="allowgetset"></a>
+<h3 class="unnumberedsec">allowgetset</h3>
+<a name="index-allowgetset"></a>
+
+<div class="example">
+<pre class="example">ALLOWGETSET                           (variable)
+</pre></div>
+
+<p>if <code>TRUE</code>, indicates that an attempt to use a procedure that doesn&rsquo;t exist
+should be taken as an implicit getter or setter procedure (setter if the
+first three letters of the name are <code>SET</code>) for a variable of the same name
+(without the <code>SET</code> if appropriate).
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#BUTTONACT" accesskey="1">BUTTONACT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#CASEIGNOREDP" accesskey="2">CASEIGNOREDP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#COMMANDLINE" accesskey="3">COMMANDLINE</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#ERRACT" accesskey="4">ERRACT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#FULLPRINTP" accesskey="5">FULLPRINTP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#KEYACT" accesskey="6">KEYACT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOADNOISILY" accesskey="7">LOADNOISILY</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PRINTDEPTHLIMIT" accesskey="8">PRINTDEPTHLIMIT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#PRINTWIDTHLIMIT" accesskey="9">PRINTWIDTHLIMIT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#REDEFP">REDEFP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#STARTUP">STARTUP</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#UNBURYONEDIT">UNBURYONEDIT</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#USEALTERNATENAMES">USEALTERNATENAMES</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOGOVERSION">LOGOVERSION</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="usermanual.html#LOGOPLATFORM">LOGOPLATFORM</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="BUTTONACT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#CASEIGNOREDP" accesskey="n" rel="next">CASEIGNOREDP</a>, Previous: <a href="usermanual.html#ALLOWGETSET" accesskey="p" rel="prev">ALLOWGETSET</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="buttonact"></a>
+<h4 class="unnumberedsubsec">buttonact</h4>
+<a name="index-buttonact"></a>
+
+<div class="example">
+<pre class="example">BUTTONACT                           (variable)
+</pre></div>
+
+<p>if nonempty, should be an instruction list that will be evaluated
+whenever a mouse button is pressed.  Note that the user may have
+released the button before the instructions are evaluated.  <code>BUTTON</code>
+will still output which button was most recently pressed.  <code>CLICKPOS</code>
+will output the position of the mouse cursor at the moment the
+button was pressed; this may be different from <code>MOUSEPOS</code> if the
+user moves the mouse after clicking.
+</p>
+<p>Note that it&rsquo;s possible for the user to press a button during the
+evaluation of the instruction list.  If this would confuse your
+program, prevent it by temporarily setting <code>BUTTONACT</code> to the empty
+list.  One easy way to do that is the following:
+</p>
+<div class="example">
+<pre class="example">make &quot;buttonact [button.action]
+
+to button.action [:buttonact []]
+... ; whatever you want the button to do
+end
+</pre></div>
+
+<hr>
+<a name="CASEIGNOREDP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#COMMANDLINE" accesskey="n" rel="next">COMMANDLINE</a>, Previous: <a href="usermanual.html#BUTTONACT" accesskey="p" rel="prev">BUTTONACT</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="caseignoredp"></a>
+<h4 class="unnumberedsubsec">caseignoredp</h4>
+<a name="index-caseignoredp"></a>
+
+<div class="example">
+<pre class="example">CASEIGNOREDP                                (variable)
+</pre></div>
+
+<p>if <code>TRUE</code>, indicates that lower case and upper case letters should be
+considered equal by <code>EQUALP</code>, <code>BEFOREP</code>, <code>MEMBERP</code>, etc.  Logo
+initially makes this variable <code>TRUE</code>, and buries it.
+</p>
+<p>See <a href="usermanual.html#EQUALP">EQUALP</a> ,
+<a href="usermanual.html#BEFOREP">BEFOREP</a> ,
+<a href="usermanual.html#MEMBERP">MEMBERP</a> .
+</p>
+<hr>
+<a name="COMMANDLINE"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#ERRACT" accesskey="n" rel="next">ERRACT</a>, Previous: <a href="usermanual.html#CASEIGNOREDP" accesskey="p" rel="prev">CASEIGNOREDP</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="commandline"></a>
+<h4 class="unnumberedsubsec">commandline</h4>
+<a name="index-commandline"></a>
+
+<div class="example">
+<pre class="example">COMMANDLINE                                (variable)
+</pre></div>
+
+<p>contains any text appearing after a hyphen on the command line used
+to start Logo.
+</p>
+<hr>
+<a name="ERRACT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#FULLPRINTP" accesskey="n" rel="next">FULLPRINTP</a>, Previous: <a href="usermanual.html#COMMANDLINE" accesskey="p" rel="prev">COMMANDLINE</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="erract"></a>
+<h4 class="unnumberedsubsec">erract</h4>
+<a name="index-erract"></a>
+
+<div class="example">
+<pre class="example">ERRACT                                      (variable)
+</pre></div>
+
+<p>an instructionlist that will be run in the event of an error.  Typically
+has the value <code>[PAUSE]</code> to allow interactive debugging.
+</p>
+<p>See <a href="usermanual.html#PAUSE">PAUSE</a> .
+</p>
+<hr>
+<a name="FULLPRINTP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#KEYACT" accesskey="n" rel="next">KEYACT</a>, Previous: <a href="usermanual.html#ERRACT" accesskey="p" rel="prev">ERRACT</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="fullprintp"></a>
+<h4 class="unnumberedsubsec">fullprintp</h4>
+<a name="index-fullprintp"></a>
+
+<div class="example">
+<pre class="example">FULLPRINTP                               (variable)
+</pre></div>
+
+<p>if <code>TRUE</code>, then words that were created using backslash or vertical bar
+(to include characters that would otherwise not be treated as part of a
+word) are printed with the backslashes or vertical bars shown, so that
+the printed result could be re-read by Logo to produce the same value.
+If FULLPRINTP is <code>TRUE</code> then the empty word (however it was created)
+prints as <code>||</code>.  (Otherwise it prints as nothing at all.)
+</p>
+<hr>
+<a name="KEYACT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LOADNOISILY" accesskey="n" rel="next">LOADNOISILY</a>, Previous: <a href="usermanual.html#FULLPRINTP" accesskey="p" rel="prev">FULLPRINTP</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="keyact"></a>
+<h4 class="unnumberedsubsec">keyact</h4>
+<a name="index-keyact"></a>
+
+<div class="example">
+<pre class="example">KEYACT                               (variable)
+</pre></div>
+
+<p>if nonempty, should be an instruction list that will be evaluated
+whenever a key is pressed on the keyboard.  The instruction list
+can use <code>READCHAR</code> to find out what key was pressed.  Note that only
+keys that produce characters qualify; pressing <code>SHIFT</code> or <code>CONTROL</code>
+alone will not cause <code>KEYACT</code> to be evaluated.
+</p>
+<p>Note that it&rsquo;s possible for the user to press a key during the
+evaluation of the instruction list.  If this would confuse your
+program, prevent it by temporarily setting <code>KEYACT</code> to the empty
+list.  One easy way to do that is the following:
+</p>
+<div class="example">
+<pre class="example">make &quot;keyact [key.action]
+
+to key.action [:keyact []]
+... ; whatever you want the key to do
+end
+</pre></div>
+
+<hr>
+<a name="LOADNOISILY"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PRINTDEPTHLIMIT" accesskey="n" rel="next">PRINTDEPTHLIMIT</a>, Previous: <a href="usermanual.html#KEYACT" accesskey="p" rel="prev">KEYACT</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="loadnoisily"></a>
+<h4 class="unnumberedsubsec">loadnoisily</h4>
+<a name="index-loadnoisily"></a>
+
+<div class="example">
+<pre class="example">LOADNOISILY                                 (variable)
+</pre></div>
+
+<p>if <code>TRUE</code>, prints the names of procedures defined when loading from a file
+(including the temporary file made by <code>EDIT</code>).
+</p>
+<p>See <a href="usermanual.html#EDIT">EDIT</a> .
+</p>
+<hr>
+<a name="PRINTDEPTHLIMIT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#PRINTWIDTHLIMIT" accesskey="n" rel="next">PRINTWIDTHLIMIT</a>, Previous: <a href="usermanual.html#LOADNOISILY" accesskey="p" rel="prev">LOADNOISILY</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="printdepthlimit"></a>
+<h4 class="unnumberedsubsec">printdepthlimit</h4>
+<a name="index-printdepthlimit"></a>
+
+<div class="example">
+<pre class="example">PRINTDEPTHLIMIT                             (variable)
+</pre></div>
+
+<p>if a nonnegative integer, indicates the maximum depth of sublist
+structure that will be printed by <code>PRINT</code>, etc.
+</p>
+<p>See <a href="usermanual.html#PRINT">PRINT</a> .
+</p>
+<hr>
+<a name="PRINTWIDTHLIMIT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#REDEFP" accesskey="n" rel="next">REDEFP</a>, Previous: <a href="usermanual.html#PRINTDEPTHLIMIT" accesskey="p" rel="prev">PRINTDEPTHLIMIT</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="printwidthlimit"></a>
+<h4 class="unnumberedsubsec">printwidthlimit</h4>
+<a name="index-printwidthlimit"></a>
+
+<div class="example">
+<pre class="example">PRINTWIDTHLIMIT                             (variable)
+</pre></div>
+
+<p>if a nonnegative integer, indicates the maximum number of members in any
+one list that will be printed by <code>PRINT</code>, etc.
+</p>
+<p>See <a href="usermanual.html#PRINT">PRINT</a> .
+</p>
+<hr>
+<a name="REDEFP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#STARTUP" accesskey="n" rel="next">STARTUP</a>, Previous: <a href="usermanual.html#PRINTWIDTHLIMIT" accesskey="p" rel="prev">PRINTWIDTHLIMIT</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="redefp"></a>
+<h4 class="unnumberedsubsec">redefp</h4>
+<a name="index-redefp"></a>
+
+<div class="example">
+<pre class="example">REDEFP                                      (variable)
+</pre></div>
+
+<p>if <code>TRUE</code>, allows primitives to be erased (<code>ERASE</code>) or redefined
+(<code>COPYDEF</code>).
+</p>
+<p>See <a href="usermanual.html#ERASE">ERASE</a> ,
+<a href="usermanual.html#COPYDEF">COPYDEF</a> .
+</p>
+<hr>
+<a name="STARTUP"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#UNBURYONEDIT" accesskey="n" rel="next">UNBURYONEDIT</a>, Previous: <a href="usermanual.html#REDEFP" accesskey="p" rel="prev">REDEFP</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="startup"></a>
+<h4 class="unnumberedsubsec">startup</h4>
+<a name="index-startup"></a>
+
+<div class="example">
+<pre class="example">STARTUP                                     (variable)
+</pre></div>
+
+<p>if assigned a list value in a file loaded by <code>LOAD</code>, that value is run as
+an instructionlist after the loading.
+</p>
+<p>See <a href="usermanual.html#LOAD">LOAD</a> .
+</p>
+<hr>
+<a name="UNBURYONEDIT"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#USEALTERNATENAMES" accesskey="n" rel="next">USEALTERNATENAMES</a>, Previous: <a href="usermanual.html#STARTUP" accesskey="p" rel="prev">STARTUP</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="unburyonedit"></a>
+<h4 class="unnumberedsubsec">unburyonedit</h4>
+<a name="index-unburyonedit"></a>
+
+<div class="example">
+<pre class="example">UNBURYONEDIT                            (variable)
+</pre></div>
+
+<p>if <code>TRUE</code>, causes any procedure defined during <code>EDIT</code> or <code>LOAD</code>
+to be unburied, so that it will be saved by a later <code>SAVE</code>.  Files that
+want to define and bury procedures must do it in that order.
+</p>
+<p>See <a href="usermanual.html#EDIT">EDIT</a> ,
+See <a href="usermanual.html#LOAD">LOAD</a> ,
+See <a href="usermanual.html#SAVE">SAVE</a> .
+</p>
+<hr>
+<a name="USEALTERNATENAMES"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LOGOVERSION" accesskey="n" rel="next">LOGOVERSION</a>, Previous: <a href="usermanual.html#UNBURYONEDIT" accesskey="p" rel="prev">UNBURYONEDIT</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="usealternatenames"></a>
+<h4 class="unnumberedsubsec">usealternatenames</h4>
+<a name="index-usealternatenames"></a>
+
+<div class="example">
+<pre class="example">USEALTERNATENAMES					(variable)
+</pre></div>
+
+<p>if <code>TRUE</code>, causes Logo to generate non-English words (from the
+<samp>Messages</samp> file) instead of <code>TRUE</code>, <code>FALSE</code>, <code>END</code>, etc.
+</p>
+
+
+<p>Logo provides the following buried variables that can be used by programs:
+</p>
+<hr>
+<a name="LOGOVERSION"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#LOGOPLATFORM" accesskey="n" rel="next">LOGOPLATFORM</a>, Previous: <a href="usermanual.html#USEALTERNATENAMES" accesskey="p" rel="prev">USEALTERNATENAMES</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="logoversion"></a>
+<h4 class="unnumberedsubsec">logoversion</h4>
+<a name="index-logoversion"></a>
+
+<div class="example">
+<pre class="example">LOGOVERSION                                   (variable)
+</pre></div>
+
+<p>a real number indicating the Logo version number, e.g., 5.5
+</p>
+<hr>
+<a name="LOGOPLATFORM"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#LOGOVERSION" accesskey="p" rel="prev">LOGOVERSION</a>, Up: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="u" rel="up">SPECIAL VARIABLES</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="logoplatform"></a>
+<h4 class="unnumberedsubsec">logoplatform</h4>
+<a name="index-logoplatform"></a>
+
+<div class="example">
+<pre class="example">LOGOPLATFORM                                   (variable)
+</pre></div>
+
+<p>one of the following words: <code>wxWidgets</code>, <code>X11</code>, <code>Windows</code>,
+or <code>Unix-nographics</code>.
+</p>
+
+
+<hr>
+<a name="INTERNATIONALIZATION"></a>
+<div class="header">
+<p>
+Next: <a href="usermanual.html#INDEX" accesskey="n" rel="next">INDEX</a>, Previous: <a href="usermanual.html#SPECIAL-VARIABLES" accesskey="p" rel="prev">SPECIAL VARIABLES</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Internationalization"></a>
+<h2 class="chapter">13 Internationalization</h2>
+
+<p>Berkeley Logo has limited support for non-English-speaking users.
+Alas, there is no Unicode support, and high-bit-on ASCII codes work in
+some contexts but not others.
+</p>
+<p>If you want to translate Berkeley Logo for use with another language,
+there are three main things you have to do:
+</p>
+<div class="example">
+<pre class="example">1. Primitive names
+2. Error (and other) messages
+3. Documentation
+</pre></div>
+
+<p>For primitive names, the easiest thing is to provide a startup file that
+defines aliases for the English primitive names, using <code>COPYDEF</code>:
+</p>
+<div class="example">
+<pre class="example">COPYDEF &quot;AVANT &quot;FORWARD
+</pre></div>
+
+<p>This should take care of it, unless your language&rsquo;s name for one primitive
+is spelled like the English name of a different primitive.  In that case
+you have to turn <code>REDEFP</code> on and be sure to copy the non-conflicting name
+before overwriting the conflicting one!
+</p>
+<p>&quot;Primitives&quot; that are actually in the Logo library, of course, can just
+be replaced or augmented with native-language-named Logo procedures and
+filenames.
+</p>
+<p>Of course Logo programs will still not look like your native language if
+the word order is dramatically different, especially if you don&rsquo;t put
+verbs before their objects.
+</p>
+<p>For error messages, there is a file named <samp>Messages</samp> in the
+<samp>logolib</samp> directory with texts of messages, one per line.  You can
+replace this with a file for your own language.  Do not add, delete, or
+reorder lines; Logo finds messages by line number.  The sequences <code>%p</code>,
+<code>%s</code>, and <code>%t</code> in these messages represent variable parts of the
+message and should not be translated.  (%p <code>PRINT</code>s the variable part,
+while %s <code>SHOW</code>s it &ndash; that is, the difference is about whether or not
+brackets are shown surrounding a list.  %t means that the variable part is a C
+text string rather than a Logo object.)  If you want to change the order of
+two variable parts (no reorderable message has more than two), you would for
+example replace the line
+</p>
+<div class="example">
+<pre class="example">%p doesn't like %s as input
+</pre></div>
+
+<p>with
+</p>
+<div class="example">
+<pre class="example">%+s is a lousy input to %p
+</pre></div>
+
+<p>The plus sign tells the message printer to reverse the order; you must
+reverse the order of %p and %s, if both are used, to match.  The plus
+sign goes just after the first percent sign in the message, which might
+not be at the beginning of the line.  The sequence <code>\n</code> in a message
+represents a newline; don&rsquo;t be fooled into thinking that the <code>n</code> is part
+of the following word.
+</p>
+<p>Some messages appear twice in the file; this isn&rsquo;t a mistake.  The two spaces
+before <code>to</code> in <code>I don't know how\ \ to</code> aren&rsquo;t a mistake either.
+The message containing just <code>%p</code> is for user-provided error messages in
+<code>THROW&nbsp;&quot;ERROR</code><!-- /@w -->.  The message &quot;<code>\ \ in %s\n%s</code>&quot; is the part of all
+error messages that indicates where the error occurred if it was inside a
+procedure; you might want to change the word <code>in</code> to your language.  
+<code>%s&nbsp;defined\n</code><!-- /@w --> is what <code>LOAD</code> prints for each procedure defined
+if the variable <code>LOADNOISILY</code> is <code>TRUE</code>.
+&quot;<code>to&nbsp;%p\nend\n\n</code>&quot;<!-- /@w --> is what <code>EDIT</code> puts in the temporary file if
+you ask to edit a procedure that isn&rsquo;t already defined.
+</p>
+<p>Also in the <samp>Messages</samp> file are lines containing only one word each; the
+first of these is the word <code>true</code>.  Some of these words are recognized by
+Logo in user input; some are generated by Logo; some are both.  For example,
+the words <code>TRUE</code> and <code>FALSE</code> are recognized as Boolean values by
+<code>IF</code> and <code>IFELSE</code>, and are also generated by Logo as outputs from
+the primitive predicates such as <code>EQUALP</code>.  The word <code>END</code> is
+recognized as the end of a procedure definition, and may be generated when
+Logo reconstructs a procedure body for <code>PO</code> or <code>EDIT</code>.  I&rsquo;ve used
+capital letters in this paragraph for easier reading, but the words in the
+<samp>Messages</samp> file should be in lower case.
+</p>
+<p>If you replace these with non-English words, Logo will <em>recognize</em> both the
+English names and your alternate names.  For example, if you replace the
+word <code>true</code> with <code>vrai</code> then Logo will understand both of these:
+</p>
+<div class="example">
+<pre class="example">IF &quot;TRUE [PRINT &quot;YES]
+IF &quot;VRAI [PRINT &quot;YES]
+</pre></div>
+
+<p>The variable <code>UseAlternateNames</code> determines whether Logo will
+<em>generate</em> other-language names &ndash; for example, whether predicate
+functions return the other-language alternates for <code>TRUE</code> and
+<code>FALSE</code>.  This variable is <code>FALSE</code> by default, meaning that the
+English words will be generated.
+</p>
+<p>You might wish to have English-named predicate functions generate English
+<code>TRUE</code> and <code>FALSE</code>, while other-language-named predicates generate
+the alternate words.  This can be done by leaving <code>UseAlternateNames</code>
+false, and instead of defining the other-language predicates with
+<code>COPYDEF</code>, do it this way:
+</p>
+<div class="example">
+<pre class="example">to french.boolean :bool
+if equalp :bool &quot;true [output &quot;vrai]
+if equalp :bool &quot;false [output &quot;faux]
+output :bool	; shouldn't happen
+end
+
+to make.french.predicate :french :english :arity
+define :french `[[[inputs] ,[:arity]]
+                 [output french.boolean
+			    apply ,[word &quot;&quot; :english] :inputs]]
+end
+
+? make.french.predicate &quot;egal? &quot;equal? 2
+? pr egal? 3 4
+faux
+? pr egal? 4 4
+vrai
+? pr equal? 3 4
+false
+? pr equal? 4 4
+true
+</pre></div>
+
+<p>The third input to <code>make.french.predicate</code> is the number of inputs that
+the predicate expects.  This solution isn&rsquo;t quite perfect because the infix
+predicates (<code>=</code>, <code>&lt;</code>, <code>&gt;</code>) will still output in English.  If
+you want them to generate alternate-language words, set
+<code>UseAlternateNames</code> to <code>TRUE</code> instead.
+</p>
+<p>Some of the words in this section of the <samp>Messages</samp> file are names of
+Logo primitives (<code>OUTPUT</code>, <code>STOP</code>, <code>GOTO</code>, <code>TAG</code>,
+<code>IF</code>, <code>IFELSE</code>, <code>TO</code>, <code>.MACRO</code>).  To translate these
+names, you must use <code>COPYDEF</code> as described earlier, in addition to
+changing the names in <samp>Messages</samp>.  You should be consistent in these two
+steps.  Don&rsquo;t forget the period in <code>.macro</code>!
+</p>
+<p>For documentation, there are two kinds: this manual and the help files.
+The latter are generated automatically from this manual if you have a
+Unix system, so in that case you need only translate this manual,
+maintaining the format.  (The automatic helpfile generator notices
+things like capital letters, tabs, hyphens, and equal signs at the
+beginnings of lines.)  The program <code>makefile.c</code> may require modification
+because a few of the primitive names are special cases (e.g., <code>LOG10</code> is
+the only name with digits included).
+</p>
+<p>If you don&rsquo;t have Unix tools, you can just translate each helpfile
+individually.  A period in a primitive name is represented as a <code>D</code> in
+the filename; there are no files for question marks because the <code>HELP</code>
+command looks for the file named after the corresponding primitive
+that ends in <code>P</code>.
+</p>
+
+<hr>
+<a name="INDEX"></a>
+<div class="header">
+<p>
+Previous: <a href="usermanual.html#INTERNATIONALIZATION" accesskey="p" rel="prev">INTERNATIONALIZATION</a>, Up: <a href="usermanual.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="usermanual.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="usermanual.html#INDEX" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="INDEX-1"></a>
+<h2 class="unnumbered">INDEX</h2>
+
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-1"><b>*</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-2"><b>+</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-3"><b>-</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-4"><b>.</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-5"><b>/</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-6"><b>&lt;</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-7"><b>=</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-8"><b>&gt;</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-9"><b>`</b></a>
+ &nbsp; 
+<br>
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-A"><b>A</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-B"><b>B</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-C"><b>C</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-D"><b>D</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-E"><b>E</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-F"><b>F</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-G"><b>G</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-H"><b>H</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-I"><b>I</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-K"><b>K</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-L"><b>L</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-M"><b>M</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-N"><b>N</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-O"><b>O</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-P"><b>P</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-Q"><b>Q</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-R"><b>R</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-S"><b>S</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-T"><b>T</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-U"><b>U</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-V"><b>V</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-W"><b>W</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-X"><b>X</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-Y"><b>Y</b></a>
+ &nbsp; 
+</td></tr></table>
+<table class="index-cp" border="0">
+<tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> Section</th></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_symbol-1">*</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_002a">*</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PRODUCT">PRODUCT</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_symbol-2">+</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_002b">+</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SUM">SUM</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_symbol-3">-</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_002d">-</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#DIFFERENCE">DIFFERENCE</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_symbol-4">.</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_002edefmacro">.defmacro</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#dMACRO">dMACRO</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_002eeq">.eq</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#dEQ">dEQ</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_002emacro">.macro</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#dMACRO">dMACRO</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_002emaybeoutput">.maybeoutput</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#dMAYBEOUTPUT">dMAYBEOUTPUT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_002esetbf">.setbf</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#dSETBF">dSETBF</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_002esetfirst">.setfirst</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#dSETFIRST">dSETFIRST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_002esetitem">.setitem</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#dSETITEM">dSETITEM</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_002esetsegmentsize">.setsegmentsize</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#g_t_002eSETSEGMENTSIZE">.SETSEGMENTSIZE</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_symbol-5">/</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_002f">/</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#QUOTIENT">QUOTIENT</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_symbol-6">&lt;</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_003c">&lt;</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LESSP">LESSP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_003c_003d">&lt;=</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LESSEQUALP">LESSEQUALP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_003c_003e">&lt;&gt;</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NOTEQUALP">NOTEQUALP</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_symbol-7">=</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_003d">=</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EQUALP">EQUALP</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_symbol-8">&gt;</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_003e">&gt;</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GREATERP">GREATERP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_003e_003d">&gt;=</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GREATEREQUALP">GREATEREQUALP</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_symbol-9">`</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-_0060">&lsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#back_002dquote">back-quote</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-A">A</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-allopen">allopen</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ALLOPEN">ALLOPEN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-AllowGetSet">AllowGetSet</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GETTER_002fSETTER-VARIBLE-SYNTAX">GETTER/SETTER VARIBLE SYNTAX</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-allowgetset">allowgetset</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ALLOWGETSET">ALLOWGETSET</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-and">and</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#AND">AND</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-apply">apply</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#APPLY">APPLY</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-arc">arc</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ARC">ARC</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-arctan">arctan</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ARCTAN">ARCTAN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-arity">arity</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ARITY">ARITY</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-array">array</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ARRAY">ARRAY</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-array_003f">array?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ARRAYP">ARRAYP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-arrayp">arrayp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ARRAYP">ARRAYP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-arraytolist">arraytolist</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ARRAYTOLIST">ARRAYTOLIST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ascii">ascii</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ASCII">ASCII</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ashift">ashift</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ASHIFT">ASHIFT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ask">ask</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ASK">ASK</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-B">B</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-back">back</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BACK">BACK</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-background">background</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BACKGROUND">BACKGROUND</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-before_003f">before?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BEFOREP">BEFOREP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-beforep">beforep</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BEFOREP">BEFOREP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-bf">bf</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BUTFIRST">BUTFIRST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-bfs">bfs</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BUTFIRSTS">BUTFIRSTS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-bg">bg</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BACKGROUND">BACKGROUND</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-bitand">bitand</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BITAND">BITAND</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-bitnot">bitnot</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BITNOT">BITNOT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-bitor">bitor</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BITOR">BITOR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-bitxor">bitxor</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BITXOR">BITXOR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-bk">bk</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BACK">BACK</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-bl">bl</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BUTLAST">BUTLAST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-buried">buried</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BURIED">BURIED</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-buried_003f">buried?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BURIEDP">BURIEDP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-buriedp">buriedp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BURIEDP">BURIEDP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-bury">bury</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BURY">BURY</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-buryall">buryall</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BURYALL">BURYALL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-buryname">buryname</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BURYNAME">BURYNAME</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-butfirst">butfirst</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BUTFIRST">BUTFIRST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-butfirsts">butfirsts</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BUTFIRSTS">BUTFIRSTS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-butlast">butlast</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BUTLAST">BUTLAST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-button">button</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BUTTON">BUTTON</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-button_003f">button?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BUTTONP">BUTTONP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-buttonact">buttonact</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BUTTONACT">BUTTONACT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-buttonp">buttonp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BUTTONP">BUTTONP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-bye">bye</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#BYE">BYE</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-C">C</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-cascade">cascade</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CASCADE">CASCADE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-cascade_002e2">cascade.2</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CASCADEd2">CASCADEd2</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-case">case</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CASE">CASE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-case_002dinsensitive">case-insensitive</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TOKENIZATION">TOKENIZATION</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-caseignoredp">caseignoredp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CASEIGNOREDP">CASEIGNOREDP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-catch">catch</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CATCH">CATCH</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-char">char</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CHAR">CHAR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-clean">clean</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CLEAN">CLEAN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-clearscreen">clearscreen</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CLEARSCREEN">CLEARSCREEN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-cleartext">cleartext</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CLEARTEXT">CLEARTEXT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-clickpos">clickpos</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CLICKPOS">CLICKPOS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-close">close</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CLOSE">CLOSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-closeall">closeall</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CLOSEALL">CLOSEALL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-co">co</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CONTINUE">CONTINUE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-combine">combine</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#COMBINE">COMBINE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-commandline">commandline</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#COMMANDLINE">COMMANDLINE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-comments">comments</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TOKENIZATION">TOKENIZATION</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-Computer_005fScience_005fLogo_005fStyle">Computer_Science_Logo_Style</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#OVERVIEW">OVERVIEW</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-cond">cond</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#COND">COND</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-contents">contents</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CONTENTS">CONTENTS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-continue">continue</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CONTINUE">CONTINUE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-copydef">copydef</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#COPYDEF">COPYDEF</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-Copyright">Copyright</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#OVERVIEW">OVERVIEW</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-cos">cos</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#COS">COS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-count">count</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#COUNT">COUNT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-crossmap">crossmap</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CROSSMAP">CROSSMAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-cs">cs</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CLEARSCREEN">CLEARSCREEN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-cslsload">cslsload</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CSLSLOAD">CSLSLOAD</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ct">ct</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CLEARTEXT">CLEARTEXT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-cursor">cursor</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#CURSOR">CURSOR</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-D">D</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-decreasefont">decreasefont</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#INCREASEFONT">INCREASEFONT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-define">define</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#DEFINE">DEFINE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-defined_003f">defined?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#DEFINEDP">DEFINEDP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-definedp">definedp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#DEFINEDP">DEFINEDP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-delimiters">delimiters</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TOKENIZATION">TOKENIZATION</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-dequeue">dequeue</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#DEQUEUE">DEQUEUE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-difference">difference</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#DIFFERENCE">DIFFERENCE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-do_002euntil">do.until</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#DOdUNTIL">DOdUNTIL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-do_002ewhile">do.while</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#DOdWHILE">DOdWHILE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-dribble">dribble</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#DRIBBLE">DRIBBLE</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-E">E</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ed">ed</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EDIT">EDIT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-edall">edall</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EDALL">EDALL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-edit">edit</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EDIT">EDIT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-editfile">editfile</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EDITFILE">EDITFILE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-editor">editor</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EDIT">EDIT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-edn">edn</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EDN">EDN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-edns">edns</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EDNS">EDNS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-edpl">edpl</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EDPL">EDPL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-edpls">edpls</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EDPLS">EDPLS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-edps">edps</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EDPS">EDPS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-empty_003f">empty?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EMPTYP">EMPTYP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-emptyp">emptyp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EMPTYP">EMPTYP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-eof_003f">eof?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EOFP">EOFP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-eofp">eofp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EOFP">EOFP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-epspict">epspict</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EPSPICT">EPSPICT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-equal_003f">equal?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EQUALP">EQUALP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-equalp">equalp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EQUALP">EQUALP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-er">er</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERASE">ERASE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-erall">erall</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERALL">ERALL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-erase">erase</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERASE">ERASE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-erasefile">erasefile</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERASEFILE">ERASEFILE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-erf">erf</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERASEFILE">ERASEFILE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ern">ern</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERN">ERN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-erns">erns</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERNS">ERNS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-erpl">erpl</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERPL">ERPL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-erpls">erpls</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERPLS">ERPLS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-erps">erps</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERPS">ERPS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-erract">erract</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERRACT">ERRACT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-error">error</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERROR">ERROR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-errors">errors</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ERROR-CODES">ERROR CODES</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-exist">exist</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EXIST">EXIST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-exp">exp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EXP">EXP</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-F">F</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-fd">fd</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FORWARD">FORWARD</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-fence">fence</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FENCE">FENCE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-file_003f">file?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FILEP">FILEP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-filep">filep</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FILEP">FILEP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-fill">fill</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FILL">FILL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-filled">filled</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FILLED">FILLED</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-filter">filter</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FILTER">FILTER</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-find">find</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FIND">FIND</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-first">first</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FIRST">FIRST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-firsts">firsts</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FIRSTS">FIRSTS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-font">font</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FONT">FONT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-for">for</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FOR">FOR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-foreach">foreach</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FOREACH">FOREACH</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-forever">forever</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FOREVER">FOREVER</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-form">form</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FORM">FORM</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-forward">forward</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FORWARD">FORWARD</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-fput">fput</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FPUT">FPUT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-fs">fs</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FULLSCREEN">FULLSCREEN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-fullprintp">fullprintp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FULLPRINTP">FULLPRINTP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-fullscreen">fullscreen</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FULLSCREEN">FULLSCREEN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-fulltext">fulltext</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#FULLTEXT">FULLTEXT</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-G">G</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-gc">gc</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GC">GC</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-gensym">gensym</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GENSYM">GENSYM</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-getter">getter</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GETTER_002fSETTER-VARIBLE-SYNTAX">GETTER/SETTER VARIBLE SYNTAX</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-global">global</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GLOBAL">GLOBAL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-goto">goto</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GOTO">GOTO</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-gprop">gprop</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GPROP">GPROP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-greater_003f">greater?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GREATERP">GREATERP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-greaterequal_003f">greaterequal?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GREATEREQUALP">GREATEREQUALP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-greaterequalp">greaterequalp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GREATEREQUALP">GREATEREQUALP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-greaterp">greaterp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GREATERP">GREATERP</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-H">H</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-have">have</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#HAVE">HAVE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-havemake">havemake</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#HAVEMAKE">HAVEMAKE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-heading">heading</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#HEADING">HEADING</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-help">help</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#HELP">HELP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-hideturtle">hideturtle</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#HIDETURTLE">HIDETURTLE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-home">home</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#HOME">HOME</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ht">ht</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#HIDETURTLE">HIDETURTLE</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-I">I</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-if">if</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#IF">IF</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ifelse">ifelse</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#IFELSE">IFELSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-iff">iff</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#IFFALSE">IFFALSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-iffalse">iffalse</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#IFFALSE">IFFALSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ift">ift</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#IFTRUE">IFTRUE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-iftrue">iftrue</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#IFTRUE">IFTRUE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ignore">ignore</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#IGNORE">IGNORE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-increasefont">increasefont</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#INCREASEFONT">INCREASEFONT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-int">int</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#INT">INT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-invoke">invoke</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#INVOKE">INVOKE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-iseq">iseq</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ISEQ">ISEQ</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-item">item</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ITEM">ITEM</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-K">K</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-key_003f">key?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#KEYP">KEYP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-keyact">keyact</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#KEYACT">KEYACT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-keyp">keyp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#KEYP">KEYP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-kindof">kindof</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#KINDOF">KINDOF</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-L">L</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-label">label</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LABEL">LABEL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-labelsize">labelsize</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LABELSIZE">LABELSIZE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-last">last</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LAST">LAST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-leaving-ucblogo">leaving <tt>ucblogo</tt></a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ENTERING-AND-LEAVING-LOGO">ENTERING AND LEAVING LOGO</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-left">left</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LEFT">LEFT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-less_003f">less?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LESSP">LESSP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-lessequal_003f">lessequal?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LESSEQUALP">LESSEQUALP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-lessequalp">lessequalp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LESSEQUALP">LESSEQUALP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-lessp">lessp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LESSP">LESSP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-line_002dcontinuation">line-continuation</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TOKENIZATION">TOKENIZATION</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-line_003f">line?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LINEP">LINEP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-linep">linep</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LINEP">LINEP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-list">list</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LIST">LIST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-list_003f">list?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LISTP">LISTP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-listp">listp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LISTP">LISTP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-listtoarray">listtoarray</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LISTTOARRAY">LISTTOARRAY</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ln">ln</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LN">LN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-load">load</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LOAD">LOAD</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-loadnoisily">loadnoisily</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LOADNOISILY">LOADNOISILY</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-loadpict">loadpict</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LOADPICT">LOADPICT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-local">local</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LOCAL">LOCAL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-localmake">localmake</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LOCALMAKE">LOCALMAKE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-log10">log10</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LOG10">LOG10</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-logohelp">logohelp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#HELP">HELP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-logoplatform">logoplatform</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LOGOPLATFORM">LOGOPLATFORM</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-logoversion">logoversion</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LOGOVERSION">LOGOVERSION</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-lowercase">lowercase</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LOWERCASE">LOWERCASE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-lput">lput</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LPUT">LPUT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-lshift">lshift</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LSHIFT">LSHIFT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-lt">lt</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#LEFT">LEFT</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-M">M</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-macro_003f">macro?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MACROP">MACROP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-macroexpand">macroexpand</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MACROEXPAND">MACROEXPAND</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-macrop">macrop</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MACROP">MACROP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-make">make</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MAKE">MAKE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-map">map</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MAP">MAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-map_002ese">map.se</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MAPdSE">MAPdSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-mdarray">mdarray</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MDARRAY">MDARRAY</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-mditem">mditem</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MDITEM">MDITEM</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-mdsetitem">mdsetitem</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MDSETITEM">MDSETITEM</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-member">member</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MEMBER">MEMBER</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-member_003f">member?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MEMBERP">MEMBERP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-memberp">memberp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MEMBERP">MEMBERP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-minus">minus</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MINUS">MINUS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-modulo">modulo</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MODULO">MODULO</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-mousepos">mousepos</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MOUSEPOS">MOUSEPOS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-myname_003f">myname?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MYNAMEP">MYNAMEP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-mynamep">mynamep</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MYNAMEP">MYNAMEP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-mynames">mynames</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MYNAMES">MYNAMES</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-myproc_003f">myproc?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MYPROCP">MYPROCP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-myprocp">myprocp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MYPROCP">MYPROCP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-myprocs">myprocs</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#MYPROCS">MYPROCS</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-N">N</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-name">name</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NAME">NAME</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-name_003f">name?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NAMEP">NAMEP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-namelist">namelist</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NAMELIST">NAMELIST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-namep">namep</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NAMEP">NAMEP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-names">names</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NAMES">NAMES</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-nodes">nodes</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NODES">NODES</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-nodribble">nodribble</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NODRIBBLE">NODRIBBLE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-norefresh">norefresh</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NOREFRESH">NOREFRESH</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-not">not</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NOT">NOT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-notequal_003f">notequal?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NOTEQUALP">NOTEQUALP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-notequalp">notequalp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NOTEQUALP">NOTEQUALP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-number_003f">number?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NUMBERP">NUMBERP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-numberp">numberp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#NUMBERP">NUMBERP</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-O">O</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-oneof">oneof</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ONEOF">ONEOF</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-op">op</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#OUTPUT">OUTPUT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-openappend">openappend</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#OPENAPPEND">OPENAPPEND</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-openread">openread</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#OPENREAD">OPENREAD</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-openupdate">openupdate</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#OPENUPDATE">OPENUPDATE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-openwrite">openwrite</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#OPENWRITE">OPENWRITE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-or">or</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#OR">OR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-output">output</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#OUTPUT">OUTPUT</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-P">P</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-palette">palette</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PALETTE">PALETTE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-parents">parents</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PARENTS">PARENTS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-parse">parse</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PARSE">PARSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pause">pause</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PAUSE">PAUSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pc">pc</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENCOLOR">PENCOLOR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pd">pd</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENDOWN">PENDOWN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pe">pe</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENERASE">PENERASE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pen">pen</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PEN">PEN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pencolor">pencolor</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENCOLOR">PENCOLOR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pendown">pendown</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENDOWN">PENDOWN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pendown_003f">pendown?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENDOWNP">PENDOWNP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pendownp">pendownp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENDOWNP">PENDOWNP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-penerase">penerase</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENERASE">PENERASE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-penmode">penmode</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENMODE">PENMODE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-penpaint">penpaint</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENPAINT">PENPAINT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-penpattern">penpattern</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENSIZE">PENSIZE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-penreverse">penreverse</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENREVERSE">PENREVERSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pensize">pensize</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENSIZE">PENSIZE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-penup">penup</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENUP">PENUP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pick">pick</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PICK">PICK</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-plist">plist</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PLIST">PLIST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-plist_003f">plist?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PLISTP">PLISTP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-plistp">plistp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PLISTP">PLISTP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-plists">plists</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PLISTS">PLISTS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pllist">pllist</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PLLIST">PLLIST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-po">po</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PO">PO</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-poall">poall</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#POALL">POALL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pon">pon</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PON">PON</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pons">pons</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PONS">PONS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pop">pop</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#POP">POP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-popl">popl</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#POPL">POPL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-popls">popls</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#POPLS">POPLS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pops">pops</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#POPS">POPS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pos">pos</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#POS">POS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pot">pot</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#POT">POT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pots">pots</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#POTS">POTS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-power">power</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#POWER">POWER</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pprop">pprop</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PPROP">PPROP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ppt">ppt</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENPAINT">PENPAINT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pr">pr</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PRINT">PRINT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-prefix">prefix</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PREFIX">PREFIX</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-primitive_003f">primitive?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PRIMITIVEP">PRIMITIVEP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-primitivep">primitivep</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PRIMITIVEP">PRIMITIVEP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-primitives">primitives</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PRIMITIVES">PRIMITIVES</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-print">print</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PRINT">PRINT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-printdepthlimit">printdepthlimit</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PRINTDEPTHLIMIT">PRINTDEPTHLIMIT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-printout">printout</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PO">PO</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-printwidthlimit">printwidthlimit</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PRINTWIDTHLIMIT">PRINTWIDTHLIMIT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-procedure_003f">procedure?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PROCEDUREP">PROCEDUREP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-procedurep">procedurep</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PROCEDUREP">PROCEDUREP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-procedures">procedures</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PROCEDURES">PROCEDURES</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-product">product</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PRODUCT">PRODUCT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-pu">pu</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENUP">PENUP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-push">push</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PUSH">PUSH</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-px">px</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#PENREVERSE">PENREVERSE</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-Q">Q</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-queue">queue</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#QUEUE">QUEUE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-quoted">quoted</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#QUOTED">QUOTED</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-quotient">quotient</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#QUOTIENT">QUOTIENT</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-R">R</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-radarctan">radarctan</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#RADARCTAN">RADARCTAN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-radcos">radcos</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#RADCOS">RADCOS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-radsin">radsin</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#RADSIN">RADSIN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-random">random</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#RANDOM">RANDOM</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-rawascii">rawascii</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#RAWASCII">RAWASCII</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-rc">rc</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#READCHAR">READCHAR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-rcs">rcs</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#READCHARS">READCHARS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-readchar">readchar</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#READCHAR">READCHAR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-readchars">readchars</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#READCHARS">READCHARS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-reader">reader</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#READER">READER</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-readlist">readlist</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#READLIST">READLIST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-readpos">readpos</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#READPOS">READPOS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-readrawline">readrawline</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#READRAWLINE">READRAWLINE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-readword">readword</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#READWORD">READWORD</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-redefp">redefp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#REDEFP">REDEFP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-reduce">reduce</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#REDUCE">REDUCE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-refresh">refresh</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#REFRESH">REFRESH</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-remainder">remainder</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#REMAINDER">REMAINDER</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-remdup">remdup</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#REMDUP">REMDUP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-remove">remove</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#REMOVE">REMOVE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-remprop">remprop</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#REMPROP">REMPROP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-repcount">repcount</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#REPCOUNT">REPCOUNT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-repeat">repeat</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#REPEAT">REPEAT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-rerandom">rerandom</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#RERANDOM">RERANDOM</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-reverse">reverse</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#REVERSE">REVERSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-right">right</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#RIGHT">RIGHT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-rl">rl</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#READLIST">READLIST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-round">round</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ROUND">ROUND</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-rseq">rseq</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#RSEQ">RSEQ</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-rt">rt</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#RIGHT">RIGHT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-run">run</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#RUN">RUN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-runparse">runparse</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#RUNPARSE">RUNPARSE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-runparsing">runparsing</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TOKENIZATION">TOKENIZATION</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-runresult">runresult</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#RUNRESULT">RUNRESULT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-rw">rw</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#READWORD">READWORD</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-S">S</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-save">save</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SAVE">SAVE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-savel">savel</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SAVEL">SAVEL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-savepict">savepict</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SAVEPICT">SAVEPICT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-screenmode">screenmode</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SCREENMODE">SCREENMODE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-scrunch">scrunch</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SCRUNCH">SCRUNCH</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-scrunch_002edat">scrunch.dat</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETSCRUNCH">SETSCRUNCH</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-se">se</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SENTENCE">SENTENCE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-self">self</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SELF">SELF</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-sentence">sentence</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SENTENCE">SENTENCE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setbackground">setbackground</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETBACKGROUND">SETBACKGROUND</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setbg">setbg</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETBACKGROUND">SETBACKGROUND</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setcslsloc">setcslsloc</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETCSLSLOC">SETCSLSLOC</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setcursor">setcursor</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETCURSOR">SETCURSOR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-seteditor">seteditor</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETEDITOR">SETEDITOR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setfont">setfont</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETFONT">SETFONT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-seth">seth</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETHEADING">SETHEADING</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setheading">setheading</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETHEADING">SETHEADING</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-sethelploc">sethelploc</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETHELPLOC">SETHELPLOC</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setitem">setitem</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETITEM">SETITEM</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setlabelheight">setlabelheight</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETLABELHEIGHT">SETLABELHEIGHT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setlibloc">setlibloc</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETLIBLOC">SETLIBLOC</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setmargins">setmargins</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETMARGINS">SETMARGINS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setpalette">setpalette</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETPALETTE">SETPALETTE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setpc">setpc</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETPENCOLOR">SETPENCOLOR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setpen">setpen</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETPEN">SETPEN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setpencolor">setpencolor</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETPENCOLOR">SETPENCOLOR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setpenpattern">setpenpattern</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETPENPATTERN">SETPENPATTERN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setpensize">setpensize</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETPENSIZE">SETPENSIZE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setpos">setpos</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETPOS">SETPOS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setprefix">setprefix</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETPREFIX">SETPREFIX</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setread">setread</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETREAD">SETREAD</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setreadpos">setreadpos</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETREADPOS">SETREADPOS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setscrunch">setscrunch</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETSCRUNCH">SETSCRUNCH</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-settc">settc</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETTEXTCOLOR">SETTEXTCOLOR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-settemploc">settemploc</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETTEMPLOC">SETTEMPLOC</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setter">setter</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#GETTER_002fSETTER-VARIBLE-SYNTAX">GETTER/SETTER VARIBLE SYNTAX</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-settextcolor">settextcolor</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETTEXTCOLOR">SETTEXTCOLOR</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-settextsize">settextsize</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETTEXTSIZE">SETTEXTSIZE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setwrite">setwrite</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETWRITE">SETWRITE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setwritepos">setwritepos</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETWRITEPOS">SETWRITEPOS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setx">setx</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETX">SETX</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-setxy">setxy</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETXY">SETXY</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-sety">sety</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SETY">SETY</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-shell">shell</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SHELL">SHELL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-show">show</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SHOW">SHOW</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-shown_003f">shown?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SHOWNP">SHOWNP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-shownp">shownp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SHOWNP">SHOWNP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-showturtle">showturtle</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SHOWTURTLE">SHOWTURTLE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-sin">sin</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SIN">SIN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-something">something</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SOMETHING">SOMETHING</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-splitscreen">splitscreen</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SPLITSCREEN">SPLITSCREEN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-sqrt">sqrt</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SQRT">SQRT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ss">ss</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SPLITSCREEN">SPLITSCREEN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-st">st</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SHOWTURTLE">SHOWTURTLE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-standout">standout</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#STANDOUT">STANDOUT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-starting-ucblogo">starting <tt>ucblogo</tt></a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#ENTERING-AND-LEAVING-LOGO">ENTERING AND LEAVING LOGO</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-startup">startup</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#STARTUP">STARTUP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-step">step</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#STEP">STEP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-stepped">stepped</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#STEPPED">STEPPED</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-stepped_003f">stepped?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#STEPPEDP">STEPPEDP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-steppedp">steppedp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#STEPPEDP">STEPPEDP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-stop">stop</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#STOP">STOP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-substring_003f">substring?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SUBSTRINGP">SUBSTRINGP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-substringp">substringp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SUBSTRINGP">SUBSTRINGP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-sum">sum</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#SUM">SUM</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-T">T</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-tag">tag</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TAG">TAG</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-talkto">talkto</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TALKTO">TALKTO</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-temp">temp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#EDIT">EDIT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-template">template</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TEMPLATE_002dBASED-ITERATION">TEMPLATE-BASED ITERATION</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-test">test</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TEST">TEST</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-text">text</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TEXT">TEXT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-textscreen">textscreen</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TEXTSCREEN">TEXTSCREEN</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-textsize">textsize</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TEXTSIZE">TEXTSIZE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-thing">thing</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#THING">THING</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-throw">throw</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#THROW">THROW</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-to">to</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TO">TO</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-towards">towards</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TOWARDS">TOWARDS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-trace">trace</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TRACE">TRACE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-traced">traced</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TRACED">TRACED</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-traced_003f">traced?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TRACEDP">TRACEDP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-tracedp">tracedp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TRACEDP">TRACEDP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-transfer">transfer</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TRANSFER">TRANSFER</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-turtlemode">turtlemode</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TURTLEMODE">TURTLEMODE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-type">type</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#TYPE">TYPE</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-U">U</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-unbury">unbury</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#UNBURY">UNBURY</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-unburyall">unburyall</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#UNBURYALL">UNBURYALL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-unburyname">unburyname</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#UNBURYNAME">UNBURYNAME</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-unburyonedit">unburyonedit</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#UNBURYONEDIT">UNBURYONEDIT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-unstep">unstep</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#UNSTEP">UNSTEP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-until">until</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#UNTIL">UNTIL</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-untrace">untrace</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#UNTRACE">UNTRACE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-uppercase">uppercase</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#UPPERCASE">UPPERCASE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-usealternatenames">usealternatenames</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#USEALTERNATENAMES">USEALTERNATENAMES</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-usual">usual</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#USUAL">USUAL</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-V">V</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-vbarred_003f">vbarred?</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#VBARREDP">VBARREDP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-vbarredp">vbarredp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#VBARREDP">VBARREDP</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-W">W</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-wait">wait</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#WAIT">WAIT</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-while">while</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#WHILE">WHILE</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-whosename">whosename</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#WHOSENAME">WHOSENAME</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-whoseproc">whoseproc</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#WHOSEPROC">WHOSEPROC</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-window">window</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#WINDOW">WINDOW</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-word">word</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#WORD">WORD</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-wordp">wordp</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#WORDP">WORDP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-wrap">wrap</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#WRAP">WRAP</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-writepos">writepos</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#WRITEPOS">WRITEPOS</a></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-writer">writer</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#WRITER">WRITER</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-X">X</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-xcor">xcor</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#XCOR">XCOR</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="INDEX_cp_letter-Y">Y</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="usermanual.html#index-ycor">ycor</a>:</td><td>&nbsp;</td><td valign="top"><a href="usermanual.html#YCOR">YCOR</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+</table>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-1"><b>*</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-2"><b>+</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-3"><b>-</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-4"><b>.</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-5"><b>/</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-6"><b>&lt;</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-7"><b>=</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-8"><b>&gt;</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_symbol-9"><b>`</b></a>
+ &nbsp; 
+<br>
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-A"><b>A</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-B"><b>B</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-C"><b>C</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-D"><b>D</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-E"><b>E</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-F"><b>F</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-G"><b>G</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-H"><b>H</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-I"><b>I</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-K"><b>K</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-L"><b>L</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-M"><b>M</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-N"><b>N</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-O"><b>O</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-P"><b>P</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-Q"><b>Q</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-R"><b>R</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-S"><b>S</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-T"><b>T</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-U"><b>U</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-V"><b>V</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-W"><b>W</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-X"><b>X</b></a>
+ &nbsp; 
+<a class="summary-letter" href="usermanual.html#INDEX_cp_letter-Y"><b>Y</b></a>
+ &nbsp; 
+</td></tr></table>
+
+<div class="footnote">
+<hr>
+<h4 class="footnotes-heading">Footnotes</h4>
+
+<h3><a name="FOOT1" href="usermanual.html#DOCF1">(1)</a></h3>
+<p><cite>Computer Science Logo Style</cite></p>
+</div>
+<hr>
+
+
+
+</body>
+</html>