about summary refs log tree commit diff stats
path: root/js/games/nluqo.github.io/~bh/v1ch16
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/v1ch16
parent5d012c6c011a9dedf7d0a098e456206244eb5a0f (diff)
downloadtour-562a9a52d599d9a05f871404050968a5fd282640.tar.gz
*
Diffstat (limited to 'js/games/nluqo.github.io/~bh/v1ch16')
-rw-r--r--js/games/nluqo.github.io/~bh/v1ch16/appendix-gpl.html413
-rw-r--r--js/games/nluqo.github.io/~bh/v1ch16/appindex.html968
-rw-r--r--js/games/nluqo.github.io/~bh/v1ch16/appuindex.html512
-rw-r--r--js/games/nluqo.github.io/~bh/v1ch16/versions.html291
4 files changed, 2184 insertions, 0 deletions
diff --git a/js/games/nluqo.github.io/~bh/v1ch16/appendix-gpl.html b/js/games/nluqo.github.io/~bh/v1ch16/appendix-gpl.html
new file mode 100644
index 0000000..fddf5b2
--- /dev/null
+++ b/js/games/nluqo.github.io/~bh/v1ch16/appendix-gpl.html
@@ -0,0 +1,413 @@
+
+<P>
+<HTML>
+<HEAD>
+<TITLE>Computer Science Logo Style vol 1 Appendix B: GNU General Public License</TITLE>
+</HEAD>
+<BODY>
+<CITE>Computer Science Logo Style</CITE> volume 1:
+<CITE>Symbolic Computing</CITE> 2/e Copyright (C) 1997 MIT
+<H1>GNU General Public License</H1>
+
+<TABLE width="100%"><TR><TD>
+<IMG SRC="../csls1.jpg" ALT="cover photo">
+<TD><TABLE>
+<TR><TD align="right"><CITE><A HREF="http://www.cs.berkeley.edu/~bh/">Brian
+Harvey</A><BR>University of California, Berkeley</CITE>
+<TR><TD align="right"><BR>
+<TR><TD align="right"><A HREF="../pdf/v1ch16.pdf">Download PDF version</A>
+<TR><TD align="right"><A HREF="../v1-toc2.html">Back to Table of Contents</A>
+<TR><TD align="right"><A HREF="versions.html"><STRONG>BACK</STRONG></A>
+chapter thread <A HREF="appuindex.html"><STRONG>NEXT</STRONG></A>
+<TR><TD align="right"><A HREF="https://mitpress.mit.edu/books/computer-science-logo-style-second-edition-volume-1">MIT
+Press web page for Computer Science Logo Style</A>
+</TABLE></TABLE>
+
+<HR>
+
+<P>The following software license, written by the Free Software
+Foundation, applies to Berkeley Logo and to
+the Logo programs in this book.  I chose to use
+this license in order to encourage the free sharing of software--my own
+and, I hope, yours.
+
+<P><CENTER>GNU GENERAL PUBLIC LICENSE</CENTER>
+<CENTER>Version 2, June 1991</CENTER>
+
+<P>Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+
+<P>675 Mass Ave, Cambridge, MA 02139, USA
+<P>
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+<P>
+<CENTER>Preamble</CENTER>
+<P>
+The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+<P>When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+<P>To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+<P>For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+<P>We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+<P>Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+<P>Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+<P>The precise terms and conditions for copying, distribution and
+modification follow.
+
+<P>
+<CENTER>GNU GENERAL PUBLIC LICENSE</CENTER>
+<P>
+<CENTER>TERMS AND CONDITIONS FOR COPYING,</CENTER>
+<CENTER>DISTRIBUTION AND MODIFICATION</CENTER>
+<P>
+
+<P>0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The &quot;Program&quot;, below,
+refers to any such program or work, and a &quot;work based on the Program&quot;
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term &quot;modification&quot;.)  Each licensee is addressed as &quot;you&quot;.
+
+<P>Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+<P>1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+<P>You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+<P>2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+<BLOCKQUOTE>
+<P>a) You must cause the modified files to carry prominent notices
+stating that you changed the files and the date of any change.
+
+<P>b) You must cause any work that you distribute or publish, that in
+whole or in part contains or is derived from the Program or any
+part thereof, to be licensed as a whole at no charge to all third
+parties under the terms of this License.
+
+<P>c) If the modified program normally reads commands interactively
+when run, you must cause it, when started running for such
+interactive use in the most ordinary way, to print or display an
+announcement including an appropriate copyright notice and a
+notice that there is no warranty (or else, saying that you provide
+a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this
+License.  (Exception: if the Program itself is interactive but
+does not normally print such an announcement, your work based on
+the Program is not required to print an announcement.)
+</BLOCKQUOTE>
+
+<P>These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+<P>Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+<P>In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+<P>3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+<BLOCKQUOTE>
+<P>a) Accompany it with the complete corresponding machine-readable
+source code, which must be distributed under the terms of Sections
+1 and 2 above on a medium customarily used for software interchange; or,
+
+<P>b) Accompany it with a written offer, valid for at least three
+years, to give any third party, for a charge no more than your
+cost of physically performing source distribution, a complete
+machine-readable copy of the corresponding source code, to be
+distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,
+
+<P>c) Accompany it with the information you received as to the offer
+to distribute corresponding source code.  (This alternative is
+allowed only for noncommercial distribution and only if you
+received the program in object code or executable form with such
+an offer, in accord with Subsection b above.)
+</BLOCKQUOTE>
+
+<P>The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+<P>If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+<P>4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+<P>5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+<P>6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+<P>7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program
+by all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+<P>If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+<P>It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+<P>This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+<P>8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+<P>9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+<P>Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and &quot;any
+later version&quot;, you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+<P>10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+<P><P>
+<CENTER>NO WARRANTY</CENTER>
+<P>
+
+<P>11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM &quot;AS IS&quot; WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE
+RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD
+THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+<P>12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+<P>
+<CENTER>END OF TERMS AND CONDITIONS</CENTER>
+
+<P><P>
+<CENTER>How to Apply These Terms to Your New Programs</CENTER>
+<P>
+
+<P>If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+<P>To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the &quot;copyright&quot; line and a pointer to where the full notice is found.
+
+<P><PRE>&lt;one line to give the program's name
+  and a brief idea of what it does.>
+Copyright (C) 19yy  &lt;name of author>
+
+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
+2 of the License, or (at your option) any later
+version.
+
+This program is distributed in the hope that it
+will be useful, but WITHOUT ANY WARRANTY;
+without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.  See the GNU General Public License for
+more details.
+
+You should have received a copy of the GNU
+General Public License along with this program;
+if not, write to the Free Software Foundation,
+Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+</PRE>
+
+<P>Also add information on how to contact you by electronic and paper mail.
+
+<P>If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+<P><PRE>Gnomovision version 69,
+Copyright (C) 19yy name of author
+Gnomovision comes with ABSOLUTELY NO WARRANTY; for
+details type 'show w'.  This is free software, and
+you are welcome to redistribute it under certain
+conditions; type 'show c' for details.
+</PRE>
+
+<P>The hypothetical commands 'show w' and 'show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than 'show w' and 'show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+<P>You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a &quot;copyright disclaimer&quot; for the program, if
+necessary.  Here is a sample; alter the names:
+
+<P><PRE>Yoyodyne, Inc., hereby disclaims all copyright
+interest in the program 'Gnomovision' (which makes
+passes at compilers) written by James Hacker.
+
+&lt;signature of Ty Coon&gt;, 1 April 1989
+Ty Coon, President of Vice
+</PRE>
+
+<P>This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+
+<P>
+<P>
+
+<P><A HREF="../v1-toc2.html">(back to Table of Contents)</A>
+<P><A HREF="versions.html"><STRONG>BACK</STRONG></A>
+chapter thread <A HREF="appuindex.html"><STRONG>NEXT</STRONG></A>
+
+<P>
+<ADDRESS>
+<A HREF="../index.html">Brian Harvey</A>, 
+<CODE>bh@cs.berkeley.edu</CODE>
+</ADDRESS>
+</BODY>
+</HTML>
diff --git a/js/games/nluqo.github.io/~bh/v1ch16/appindex.html b/js/games/nluqo.github.io/~bh/v1ch16/appindex.html
new file mode 100644
index 0000000..99ee0c8
--- /dev/null
+++ b/js/games/nluqo.github.io/~bh/v1ch16/appindex.html
@@ -0,0 +1,968 @@
+<HTML>
+<HEAD>
+<TITLE>Computer Science Logo Style vol 1: General Index</TITLE>
+</HEAD>
+<BODY>
+<CITE>Computer Science Logo Style</CITE> volume 1:
+<CITE>Symbolic Computing</CITE> 2/e Copyright (C) 1997 MIT
+<H1>General Index</H1>
+
+<TABLE width="100%"><TR><TD>
+<IMG SRC="../csls1.jpg" ALT="cover photo">
+<TD><TABLE>
+<TR><TD align="right"><CITE><A HREF="http://www.cs.berkeley.edu/~bh/">Brian
+Harvey</A><BR>University of California, Berkeley</CITE>
+<TR><TD align="right"><BR>
+<TR><TD align="right"><A HREF="../pdf/v1ch16.pdf">Download PDF version</A>
+<TR><TD align="right"><A HREF="../v1-toc2.html">Back to Table of Contents</A>
+<TR><TD align="right"><A HREF="appuindex.html"><STRONG>BACK</STRONG></A>
+chapter thread [no next]
+<TR><TD align="right"><A HREF="https://mitpress.mit.edu/books/computer-science-logo-style-second-edition-volume-1">MIT
+Press web page for Computer Science Logo Style</A>
+</TABLE></TABLE>
+
+<HR>
+
+<P>This index lists technical terms and primitive procedures.  There is also an
+<A HREF="appuindex.html">index of defined procedures</A>, which
+lists procedures whose definitions are in
+the text and procedures that you are asked to write.
+
+<P>(The HTML version doesn't tell you book page numbers; instead it directs
+you to the Web page(s) containing the references.  Once you get to the page,
+ask your browser to find the text you want in that page.)
+
+<P><A HREF="appindex.html#A">A</A> <A HREF="appindex.html#B">B</A> <A HREF="appindex.html#C">C</A> <A HREF="appindex.html#D">D</A> <A HREF="appindex.html#E">E</A> <A HREF="appindex.html#F">F</A> <A HREF="appindex.html#G">G</A> <A HREF="appindex.html#H">H</A> <A HREF="appindex.html#I">I</A> <A HREF="appindex.html#J">J</A> <A HREF="appindex.html#K">K</A> <A HREF="appindex.html#L">L</A> <A HREF="appindex.html#M">M</A> <A HREF="appindex.html#N">N</A> <A HREF="appindex.html#O">O</A> <A HREF="appindex.html#P">P</A> <A HREF="appindex.html#Q">Q</A> <A HREF="appindex.html#R">R</A> <A HREF="appindex.html#S">S</A> <A HREF="appindex.html#T">T</A> U <A HREF="appindex.html#V">V</A> <A HREF="appindex.html#W">W</A> <A HREF="appindex.html#X">X</A> <A HREF="appindex.html#Y">Y</A> Z
+<P><A NAME="A"></A>
+
+
+<P><BR>
+abbreviation <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+Abelson, Hal <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+absolute value <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+abstract data type <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+actual argument <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+algebraic equation <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+algorithm <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+allocation, storage <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+analytic geometry <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>and</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+APL <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+apprenticeship <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+Arabic numeral <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+argument <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+argument, actual <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+array <A HREF="../v1ch0/preface.html">Pref</A>
+, <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>array</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>arraytolist</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+artificial intelligence <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+assignment, indirect <A HREF="../v1ch3/variab.html">Ch3</A>
+<P><A NAME="B"></A>
+<BR>
+<CODE>back</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+BASIC <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch3/variab.html">Ch3</A>
+
+, <A HREF="../v1ch9/recur3.html">Ch9</A>
+, <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>bf</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+Birch, Alison <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+<CODE>bk</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+bottom-up <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+bracket, square <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+breadth-first search <A HREF="../v1ch14/pour.html">Ch14</A>
+
+<BR>
+<CODE>butfirst</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>butlast</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<P><A NAME="C"></A>
+<BR>
+C++ <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+Carter, Cindy <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+Cartesian coordinates <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>cascade</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+character <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+character string <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+cipher, Playfair <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+cipher, simple substitution <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+Clancy, Michael <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+<CODE>clearscreen</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>cleartext</CODE> <A HREF="../v1ch1/explor.html">Ch1</A>
+<BR>
+cognitive psychology <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+colon <A HREF="../v1ch3/variab.html">Ch3</A>
+
+
+<BR>
+combiner <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+command <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+compass heading <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+composition of functions <A HREF="../v1ch0/preface.html">Pref</A>
+, <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+computer graphics <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+computer literacy <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+computer science <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+conditional evaluation <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+connective, logical <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+constructor <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+context <A HREF="../v1ch13/plan.html">Ch13</A>
+, <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+<CODE>continue</CODE> <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+conversational front end <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+coordinates <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+coordinates, Cartesian <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>count</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+Courant, Richard <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>cs</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>ct</CODE> <A HREF="../v1ch1/explor.html">Ch1</A>
+<P><A NAME="D"></A>
+<BR>
+Dahl, O. J. <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+Dao, Khang <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+data redundancy <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+data representation <A HREF="../v1ch6/ttt.html">Ch6</A>
+, <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+data structure <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+data type, abstract <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+datum <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+Davidson, Larry <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+Davis, Jim <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+debugging <A HREF="../v1ch13/plan.html">Ch13</A>
+
+, <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+defensive programming <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+defining a procedure <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+depth-first search <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+Descartes, Ren&eacute; <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+describe a procedure, how to <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+Deutsch, Freeman <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+diagram, plumbing <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+Dijkstra, Edsger <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+Diophantine equation <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+domain <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+dots <A HREF="../v1ch3/variab.html">Ch3</A>
+
+<BR>
+dynamic scope <A HREF="../v1ch3/variab.html">Ch3</A>
+<P><A NAME="E"></A>
+<BR>
+<CODE>edit</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+editor <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+effect <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+efficiency <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+elves <A HREF="../v1ch3/variab.html">Ch3</A>
+, <A HREF="../v1ch9/recur3.html">Ch9</A>
+<BR>
+Elvish <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+empty list <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+empty word <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>emptyp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>end</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+environment, programming <A HREF="../v1ch1/explor.html">Ch1</A>
+<BR>
+equal sign <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>equalp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+equation, algebraic <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+equation, Diophantine <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+error message <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+evaluation <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+expression <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+expression, logical <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+extra inputs <A HREF="../v1ch2/proced.html">Ch2</A>
+<P><A NAME="F"></A>
+<BR>
+factorial <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+faith <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+<CODE>false</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>fd</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+Fibonacci sequence <A HREF="../v1ch5/hof.html">Ch5</A>
+, <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>filter</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+
+, <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>find</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+<CODE>first</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+flag variable <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+flat list <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>for</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+
+<BR>
+<CODE>foreach</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+<CODE>forever</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+formal parameter <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+Fortran <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+<CODE>forward</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>fput</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+fractal <A HREF="../v1ch10/turtle.html">Ch10</A>
+
+<BR>
+frame <A HREF="../v1ch3/variab.html">Ch3</A>
+
+<BR>
+Free Software Foundation <A HREF="appendix-gpl.html">GPL</A>
+<BR>
+Friedman, Batya <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+front end, conversational <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+function <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+function notation <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+function, higher order <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+functions, composition of <A HREF="../v1ch0/preface.html">Pref</A>
+, <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch12/playfair.html">Ch12</A>
+<P><A NAME="G"></A>
+<BR>
+geometry, analytic <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+geometry, turtle <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+Gilham, Fred <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+global variable <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+Goldenberg, Paul <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+Goodman, Paul <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+graph <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+graphics, computer <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+graphics, turtle <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>greaterp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<P><A NAME="H"></A>
+<BR>
+Hanoi, Tower of <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+Harvey, Tessa <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+<EM>Have His Carcase</EM> <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+heading <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>heading</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+heading, compass <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+hierarchy of levels <A HREF="../v1ch9/recur3.html">Ch9</A>
+<BR>
+higher order function <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+Hoare, C. A. R. <A HREF="../v1ch13/plan.html">Ch13</A>
+<P><A NAME="I"></A>
+<BR>
+<CODE>if</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>ifelse</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+
+, <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+<CODE>iff</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>iffalse</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>ift</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>iftrue</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+increment <A HREF="../v1ch3/variab.html">Ch3</A>
+, <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+index variable <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+indirect assignment <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+infix arithmetic <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+initialization procedure <A HREF="../v1ch7/recur1.html">Ch7</A>
+, <A HREF="../v1ch8/recur2.html">Ch8</A>
+, <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+input <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+inputs, extra <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+instruction <A HREF="../v1ch1/explor.html">Ch1</A>
+, <A HREF="../v1ch2/proced.html">Ch2</A>
+
+
+<BR>
+instruction line <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+instruction list <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+intelligence, artificial <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+interaction <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+invocation <A HREF="../v1ch2/proced.html">Ch2</A>
+
+, <A HREF="../v1ch3/variab.html">Ch3</A>
+
+, <A HREF="../v1ch9/recur3.html">Ch9</A>
+<BR>
+IQ tests <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>item</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+iteration, numeric <A HREF="../v1ch5/hof.html">Ch5</A>
+<P><A NAME="J"></A>
+<BR>
+joke <A HREF="../v1ch1/explor.html">Ch1</A>
+, <A HREF="../v1ch3/variab.html">Ch3</A>
+<P><A NAME="K"></A>
+<BR>
+Katz, Michael <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+Katz, Yehuda <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+kludge <A HREF="../v1ch2/proced.html">Ch2</A>
+<P><A NAME="L"></A>
+<BR>
+<CODE>last</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+Latin, Pig <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>left</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+Lennon, John <A HREF="../v1ch1/explor.html">Ch1</A>
+, <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>lessp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+levels of recursion <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+levels, hierarchy of <A HREF="../v1ch9/recur3.html">Ch9</A>
+<BR>
+Levington, David <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+Lewis, Phil <A HREF="../v1ch0/ack.html">Ack</A>
+
+<BR>
+limit value <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+Lisp <A HREF="../v1ch0/preface.html">Pref</A>
+
+, <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+list <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>list</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+list, empty <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+list, flat <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>listp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>listtoarray</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+literacy, computer <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+little person metaphor <A HREF="../v1ch3/variab.html">Ch3</A>
+, <A HREF="../v1ch9/recur3.html">Ch9</A>
+<BR>
+<CODE>local</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+local variable <A HREF="../v1ch3/variab.html">Ch3</A>
+
+, <A HREF="../v1ch7/recur1.html">Ch7</A>
+, <A HREF="../v1ch9/recur3.html">Ch9</A>
+<BR>
+locality <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+logic, mathematical <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+logical connective <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+logical expression <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+Logo <A HREF="../v1ch0/preface.html">Pref</A>
+
+, <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+<CODE>lput</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+, <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+<CODE>lt</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<P><A NAME="M"></A>
+<BR>
+<CODE>make</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>map</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+
+<BR>
+<CODE>map.se</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+mathematical logic <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+mathematics <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+matrix <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+member <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>memberp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+metaphor <A HREF="../v1ch1/explor.html">Ch1</A>
+, <A HREF="../v1ch3/variab.html">Ch3</A>
+
+, <A HREF="../v1ch9/recur3.html">Ch9</A>
+<BR>
+Mills, George <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+Minsky, Margaret <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+modularity <A HREF="../v1ch3/variab.html">Ch3</A>
+, <A HREF="../v1ch6/ttt.html">Ch6</A>
+, <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+most restrictive test <A HREF="../v1ch13/plan.html">Ch13</A>
+<P><A NAME="N"></A>
+<BR>
+name <A HREF="../v1ch3/variab.html">Ch3</A>
+
+<BR>
+<CODE>not</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+number <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+number, telephone <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>numberp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+numeral, Arabic <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+numeral, Roman <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+numeric iteration <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+numerical operation <A HREF="../v1ch11/recops.html">Ch11</A>
+<P><A NAME="O"></A>
+<BR>
+operation <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch3/variab.html">Ch3</A>
+, <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+operation, numerical <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+operation, recursive <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+operation, selection <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>or</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+origin <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+Orleans, Doug <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+output <A HREF="../v1ch2/proced.html">Ch2</A>
+
+, <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>output</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+, <A HREF="../v1ch4/predic.html">Ch4</A>
+
+<BR>
+Owings, Sanford <A HREF="../v1ch0/ack.html">Ack</A>
+<P><A NAME="P"></A>
+<BR>
+parallel processing <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+parameter, formal <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+parentheses <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+Pascal <A HREF="../v1ch0/preface.html">Pref</A>
+, <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+pattern <A HREF="../v1ch8/recur2.html">Ch8</A>
+
+, <A HREF="../v1ch11/recops.html">Ch11</A>
+
+
+
+<BR>
+pattern, procedure <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+<CODE>pause</CODE> <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+pausing <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+<CODE>pd</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+pen <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>pendown</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>penup</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+Pig Latin <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+planning, style of <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+Playfair cipher <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+plumbing diagram <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>po</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+pocket <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>pons</CODE> <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+<CODE>pops</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>pos</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+position <A HREF="../v1ch6/ttt.html">Ch6</A>
+, <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>pots</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>pr</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+predicate <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+predicate calculus <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+predicate, recursive <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+prefix arithmetic <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+primitive <A HREF="../v1ch2/proced.html">Ch2</A>
+
+<BR>
+<CODE>print</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+procedure <A HREF="../v1ch1/explor.html">Ch1</A>
+, <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+procedure pattern <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+procedure, defining <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+procedure, initialization <A HREF="../v1ch7/recur1.html">Ch7</A>
+, <A HREF="../v1ch8/recur2.html">Ch8</A>
+, <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+procedure, top-level <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+processing, parallel <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>product</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+program <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+programming environment <A HREF="../v1ch1/explor.html">Ch1</A>
+<BR>
+programming, structured <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+Prolog <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+prompt <A HREF="../v1ch1/explor.html">Ch1</A>
+
+<BR>
+psychology, cognitive <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>pu</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<P><A NAME="Q"></A>
+<BR>
+question <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+question, yes-or-no <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+queue <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+quotation mark <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+quote <A HREF="../v1ch2/proced.html">Ch2</A>
+
+<P><A NAME="R"></A>
+<BR>
+<CODE>random</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+range <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+<CODE>readchar</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>readlist</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+recursion <A HREF="../v1ch7/recur1.html">Ch7</A>
+<BR>
+recursion, levels of <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+recursive call <A HREF="../v1ch7/recur1.html">Ch7</A>
+, <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+recursive operation <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>reduce</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+
+, <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+redundancy, data <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+<CODE>remainder</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>repeat</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+representation, data <A HREF="../v1ch6/ttt.html">Ch6</A>
+, <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+restrictive test <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+<CODE>right</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+right to left <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+Robbins, Herbert <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+robot <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+Roman numeral <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+<CODE>rt</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>run</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<P><A NAME="S"></A>
+<BR>
+Sargent, Randy <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+Sayers, Dorothy L. <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+scope of variables <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+scope, dynamic <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+search, breadth-first <A HREF="../v1ch14/pour.html">Ch14</A>
+
+<BR>
+search, depth-first <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+search, tree <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+selection operation <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+selector <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+semantics <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+sentence <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>sentence</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+sequence of instructions <A HREF="../v1ch9/recur3.html">Ch9</A>
+<BR>
+<CODE>seth</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>setheading</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>setitem</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>setpos</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+simple substitution cipher <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+Solomon, Cynthia <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+space/time tradeoff <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+square bracket <A HREF="../v1ch2/proced.html">Ch2</A>
+, <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+stack <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+starting value <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+state, turtle <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+state-invariant <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+statement types <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>step</CODE> <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+step, turtle <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+stepping <A HREF="../v1ch9/recur3.html">Ch9</A>
+, <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+<CODE>stop</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+, <A HREF="../v1ch9/recur3.html">Ch9</A>
+<BR>
+stop rule <A HREF="../v1ch7/recur1.html">Ch7</A>
+
+, <A HREF="../v1ch8/recur2.html">Ch8</A>
+, <A HREF="../v1ch11/recops.html">Ch11</A>
+, <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+storage allocation <A HREF="../v1ch0/preface.html">Pref</A>
+<BR>
+string, character <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+structure, data <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+structured programming <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+style of planning <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+subprocedure <A HREF="../v1ch3/variab.html">Ch3</A>
+, <A HREF="../v1ch7/recur1.html">Ch7</A>
+<BR>
+subprocedure/superprocedure diagram <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>subsets</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+substitution cipher, simple <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>sum</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+superprocedure <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+symmetry <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+syntax <A HREF="../v1ch0/preface.html">Pref</A>
+, <A HREF="../v1ch2/proced.html">Ch2</A>
+
+<P><A NAME="T"></A>
+<BR>
+tail recursion <A HREF="../v1ch7/recur1.html">Ch7</A>
+, <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+telephone number <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+template <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+<CODE>test</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+test, most restrictive <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+tests, IQ <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>thing</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+
+<BR>
+<CODE>throw</CODE> <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+tic-tac-toe <A HREF="../v1ch3/variab.html">Ch3</A>
+, <A HREF="../v1ch6/ttt.html">Ch6</A>
+, <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+title line <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>to</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+top-down <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+top-level procedure <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+Tower of Hanoi <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+trace <A HREF="../v1ch9/recur3.html">Ch9</A>
+<BR>
+<CODE>trace</CODE> <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+tracing <A HREF="../v1ch9/recur3.html">Ch9</A>
+, <A HREF="../v1ch15/debug.html">Ch15</A>
+
+<BR>
+tree <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+tree search <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>true</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+turtle graphics <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+turtle step <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+turtle-relative <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+Twenty Questions <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>type</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+<P><A NAME="V"></A>
+<BR>
+value, limit <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+value, starting <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+van Blerkom, Dan <A HREF="../v1ch0/ack.html">Ack</A>
+<BR>
+variable <A HREF="../v1ch3/variab.html">Ch3</A>
+
+
+<BR>
+variable, flag <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+variable, index <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+variable, local <A HREF="../v1ch9/recur3.html">Ch9</A>
+<BR>
+variables in the workspace <A HREF="../v1ch6/ttt.html">Ch6</A>
+<P><A NAME="W"></A>
+<BR>
+Washington, George <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<EM>What Is Mathematics?</EM> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+Wirth, Niklaus <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+word <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>word</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+word, empty <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>wordp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+Wright, Matthew <A HREF="../v1ch0/ack.html">Ack</A>
+, <A HREF="../v1ch6/ttt.html">Ch6</A>
+<P><A NAME="X"></A>
+<BR>
+x-coordinate <A HREF="../v1ch10/turtle.html">Ch10</A>
+<P><A NAME="Y"></A>
+<BR>
+y-coordinate <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+yes-or-no question <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+Yoder, Sharon <A HREF="../v1ch0/ack.html">Ack</A>
+
+<P><A HREF="../v1-toc2.html">(back to Table of Contents)</A>
+<P><A HREF="appuindex.html"><STRONG>BACK</STRONG></A>
+chapter thread [no next]
+
+<P>
+<ADDRESS>
+<A HREF="../index.html">Brian Harvey</A>, 
+<CODE>bh@cs.berkeley.edu</CODE>
+</ADDRESS>
+</BODY>
+</HTML>
diff --git a/js/games/nluqo.github.io/~bh/v1ch16/appuindex.html b/js/games/nluqo.github.io/~bh/v1ch16/appuindex.html
new file mode 100644
index 0000000..882f405
--- /dev/null
+++ b/js/games/nluqo.github.io/~bh/v1ch16/appuindex.html
@@ -0,0 +1,512 @@
+<HTML>
+<HEAD>
+<TITLE>Computer Science Logo Style vol 1: Index of Defined Procedures</TITLE>
+</HEAD>
+<BODY>
+<CITE>Computer Science Logo Style</CITE> volume 1:
+<CITE>Symbolic Computing</CITE> 2/e Copyright (C) 1997 MIT
+<H1>Index of Defined Procedures</H1>
+
+<TABLE width="100%"><TR><TD>
+<IMG SRC="../csls1.jpg" ALT="cover photo">
+<TD><TABLE>
+<TR><TD align="right"><CITE><A HREF="http://www.cs.berkeley.edu/~bh/">Brian
+Harvey</A><BR>University of California, Berkeley</CITE>
+<TR><TD align="right"><BR>
+<TR><TD align="right"><A HREF="../pdf/v1ch16.pdf">Download PDF version</A>
+<TR><TD align="right"><A HREF="../v1-toc2.html">Back to Table of Contents</A>
+<TR><TD align="right"><A HREF="appendix-gpl.html"><STRONG>BACK</STRONG></A>
+chapter thread <A HREF="appindex.html"><STRONG>NEXT</STRONG></A>
+<TR><TD align="right"><A HREF="https://mitpress.mit.edu/books/computer-science-logo-style-second-edition-volume-1">MIT
+Press web page for Computer Science Logo Style</A>
+</TABLE></TABLE>
+
+<HR>
+
+<P>This index lists example procedures whose definitions are in the text and
+procedures that you are asked to write in the text.  The
+<A HREF="appindex.html">general index</A>
+lists technical terms and primitive procedures.
+
+<P>(The HTML version doesn't tell you book page numbers; instead it directs
+you to the Web page(s) containing the references.  Once you get to the page,
+ask your browser to find the text you want in that page.)
+
+<P><P>
+<A HREF="appuindex.html#A">A</A> <A HREF="appuindex.html#B">B</A> <A HREF="appuindex.html#C">C</A> <A HREF="appuindex.html#D">D</A> <A HREF="appuindex.html#E">E</A> <A HREF="appuindex.html#F">F</A> <A HREF="appuindex.html#G">G</A> <A HREF="appuindex.html#H">H</A> <A HREF="appuindex.html#I">I</A> <A HREF="appuindex.html#J">J</A> K <A HREF="appuindex.html#L">L</A> <A HREF="appuindex.html#M">M</A> <A HREF="appuindex.html#N">N</A> <A HREF="appuindex.html#O">O</A> <A HREF="appuindex.html#P">P</A> <A HREF="appuindex.html#Q">Q</A> <A HREF="appuindex.html#R">R</A> <A HREF="appuindex.html#S">S</A> <A HREF="appuindex.html#T">T</A> <A HREF="appuindex.html#U">U</A> <A HREF="appuindex.html#V">V</A> <A HREF="appuindex.html#W">W</A> X <A HREF="appuindex.html#Y">Y</A> Z
+<P><A NAME="A"></A>
+
+
+<P><BR>
+<CODE>about.computersp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+, <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>abs</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>ace.highp</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>acronym</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+<CODE>addup</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+, <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+<CODE>all.empty</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>already.wonp</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>arabic</CODE> <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+<CODE>ask.once</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>ask.thrice</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<P><A NAME="B"></A>
+<BR>
+<CODE>best.move</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>better.groupie</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>bottom</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>breadth.descend</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>breadth.first</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<P><A NAME="C"></A>
+<BR>
+<CODE>child</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>children</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>children1</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>choose</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>chooseo</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>choosex</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>code</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>codelet</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>codematch</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>codeword</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>color</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>computer.first</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>converse</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>countdown</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+, <A HREF="../v1ch8/recur2.html">Ch8</A>
+<P><A NAME="D"></A>
+<BR>
+<CODE>dash</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>diamond</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+<BR>
+<CODE>digit</CODE> <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+<CODE>digitp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>down</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+
+, <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+<CODE>downup</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+
+
+
+
+, <A HREF="../v1ch8/recur2.html">Ch8</A>
+
+, <A HREF="../v1ch9/recur3.html">Ch9</A>
+<BR>
+<CODE>downup.many</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+<BR>
+<CODE>downup.one</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+<BR>
+<CODE>downup1</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+<BR>
+<CODE>downup2</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+<BR>
+<CODE>draw</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>draw.board</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>drawline</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>drawo</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>drawx</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<P><A NAME="E"></A>
+<BR>
+<CODE>encode</CODE> <A HREF="../v1ch12/playfair.html">Ch12</A>
+<P><A NAME="F"></A>
+<BR>
+<CODE>face</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>fact</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+
+<BR>
+<CODE>fib</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+, <A HREF="../v1ch11/recops.html">Ch11</A>
+
+<BR>
+<CODE>fiblist</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>find.advance</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>find.fork</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>find.win</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>fingers</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>flushp</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>fourp</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>freep</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>french</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>full.housep</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>fullp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<P><A NAME="G"></A>
+<BR>
+<CODE>getmove</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>greet</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>groupie</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<P><A NAME="H"></A>
+<BR>
+<CODE>halves</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>hanoi</CODE> <A HREF="../v1ch8/recur2.html">Ch8</A>
+
+<BR>
+<CODE>hasvowelp</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>hello</CODE> <A HREF="../v1ch2/proced.html">Ch2</A>
+<BR>
+<CODE>hi</CODE> <A HREF="../v1ch1/explor.html">Ch1</A>
+<P><A NAME="I"></A>
+<BR>
+<CODE>ignore</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>importantp</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+<CODE>increment</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>index</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>init</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>initials</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+
+
+<BR>
+<CODE>inout</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+
+
+
+<BR>
+<CODE>inout.sub</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+<BR>
+<CODE>inrangep</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>insert</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+<CODE>integerp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>item</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>itoj</CODE> <A HREF="../v1ch12/playfair.html">Ch12</A>
+<P><A NAME="J"></A>
+<BR>
+<CODE>jtoi</CODE> <A HREF="../v1ch12/playfair.html">Ch12</A>
+<P><A NAME="L"></A>
+<BR>
+<CODE>length</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>letter</CODE> <A HREF="../v1ch12/playfair.html">Ch12</A>
+
+<BR>
+<CODE>letterp</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>letters</CODE> <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+<CODE>locate</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>lookup</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>lovepoem</CODE> <A HREF="../v1ch8/recur2.html">Ch8</A>
+<P><A NAME="M"></A>
+<BR>
+<CODE>make.path</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>make.triples</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>manyprint</CODE> <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+<CODE>meplay</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>min</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>move</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>movedisk</CODE> <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+<CODE>multiply</CODE> <A HREF="../v1ch8/recur2.html">Ch8</A>
+, <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>music.quiz</CODE> <A HREF="../v1ch1/explor.html">Ch1</A>
+, <A HREF="../v1ch4/predic.html">Ch4</A>
+<P><A NAME="N"></A>
+<BR>
+<CODE>new.converse</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>newfib</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>newstate</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>nogap</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>number.name</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>numbers</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<P><A NAME="O"></A>
+<BR>
+<CODE>oddp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>one.per.line</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+, <A HREF="../v1ch8/recur2.html">Ch8</A>
+
+<P><A NAME="P"></A>
+<BR>
+<CODE>paircode</CODE> <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+<CODE>paircount</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>pairp</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>pairup</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>past.tensep</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>path.moves</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>path.state</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>person.first</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>person.move</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>pickmove</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>piglatin</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>playfair</CODE> <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+<CODE>playgame</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+<CODE>plural</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+<CODE>plword</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>poker</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+<CODE>poker.init</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+
+<BR>
+<CODE>pokerhand</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+
+<BR>
+<CODE>poly</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>pour</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>praise</CODE> <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+<CODE>primer</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>printform</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>process</CODE> <A HREF="../v1ch1/explor.html">Ch1</A>
+<BR>
+<CODE>protect.heading</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>prsecond</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<P><A NAME="Q"></A>
+<BR>
+<CODE>qa</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>quadratic</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>query</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>quiz</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<P><A NAME="R"></A>
+<BR>
+<CODE>ranknum</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>read.card</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>read.cards</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+<BR>
+<CODE>realwordp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>remove</CODE> <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+<CODE>reorder</CODE> <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+<CODE>reorder1</CODE> <A HREF="../v1ch12/playfair.html">Ch12</A>
+<BR>
+<CODE>repeated.number</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>replace</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>replace2</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>reverse</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+<CODE>riverp</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>room</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>rotate</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+, <A HREF="../v1ch12/playfair.html">Ch12</A>
+<P><A NAME="S"></A>
+<BR>
+<CODE>say</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+<CODE>sayrow</CODE> <A HREF="../v1ch5/hof.html">Ch5</A>
+<BR>
+<CODE>scramble</CODE> <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+<CODE>second</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+, <A HREF="../v1ch15/debug.html">Ch15</A>
+<BR>
+<CODE>setkeyword</CODE> <A HREF="../v1ch12/playfair.html">Ch12</A>
+
+<BR>
+<CODE>singlep</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>singles</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>size</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>slant</CODE> <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+<CODE>soap.opera</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>sort.beforep</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>spin</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>squaggle</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>square</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>squiggle</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>squirrel</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>squoggle</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+<BR>
+<CODE>start</CODE> <A HREF="../v1ch1/explor.html">Ch1</A>
+<BR>
+<CODE>straightp</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>strip</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>strip.word</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>substitute.triple</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>swap</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+, <A HREF="../v1ch15/debug.html">Ch15</A>
+<P><A NAME="T"></A>
+<BR>
+<CODE>talk</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+<BR>
+<CODE>threep</CODE> <A HREF="../v1ch13/plan.html">Ch13</A>
+
+<BR>
+<CODE>tiedp</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>top</CODE> <A HREF="../v1ch3/variab.html">Ch3</A>
+<BR>
+<CODE>total.quiz</CODE> <A HREF="../v1ch1/explor.html">Ch1</A>
+<BR>
+<CODE>tree</CODE> <A HREF="../v1ch10/turtle.html">Ch10</A>
+
+
+
+<BR>
+<CODE>triangle</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+<BR>
+<CODE>truncate</CODE> <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+<CODE>ttt</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+, <A HREF="../v1ch13/plan.html">Ch13</A>
+<P><A NAME="U"></A>
+<BR>
+<CODE>unique</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>up</CODE> <A HREF="../v1ch7/recur1.html">Ch7</A>
+, <A HREF="../v1ch8/recur2.html">Ch8</A>
+<BR>
+<CODE>updown</CODE> <A HREF="../v1ch8/recur2.html">Ch8</A>
+
+
+<P><A NAME="V"></A>
+<BR>
+<CODE>vowelcount</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<BR>
+<CODE>vowelp</CODE> <A HREF="../v1ch4/predic.html">Ch4</A>
+, <A HREF="../v1ch11/recops.html">Ch11</A>
+<P><A NAME="W"></A>
+<BR>
+<CODE>water</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>win</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>win.nowp</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+<BR>
+<CODE>win1</CODE> <A HREF="../v1ch14/pour.html">Ch14</A>
+<BR>
+<CODE>wordify</CODE> <A HREF="../v1ch11/recops.html">Ch11</A>
+<P><A NAME="Y"></A>
+<BR>
+<CODE>youplay</CODE> <A HREF="../v1ch6/ttt.html">Ch6</A>
+
+<P><A HREF="../v1-toc2.html">(back to Table of Contents)</A>
+<P><A HREF="appendix-gpl.html"><STRONG>BACK</STRONG></A>
+chapter thread <A HREF="appindex.html"><STRONG>NEXT</STRONG></A>
+
+<P>
+<ADDRESS>
+<A HREF="../index.html">Brian Harvey</A>, 
+<CODE>bh@cs.berkeley.edu</CODE>
+</ADDRESS>
+</BODY>
+</HTML>
diff --git a/js/games/nluqo.github.io/~bh/v1ch16/versions.html b/js/games/nluqo.github.io/~bh/v1ch16/versions.html
new file mode 100644
index 0000000..9ebbd5c
--- /dev/null
+++ b/js/games/nluqo.github.io/~bh/v1ch16/versions.html
@@ -0,0 +1,291 @@
+
+<P><HTML>
+<HEAD>
+<TITLE>Computer Science Logo Style vol 1 Appendix A: Running Berkeley Logo</TITLE>
+</HEAD>
+<BODY>
+<CITE>Computer Science Logo Style</CITE> volume 1:
+<CITE>Symbolic Computing</CITE> 2/e Copyright (C) 1997 MIT
+<H1>Running Berkeley Logo</H1>
+
+<TABLE width="100%"><TR><TD>
+<IMG SRC="../csls1.jpg" ALT="cover photo">
+<TD><TABLE>
+<TR><TD align="right"><CITE><A HREF="http://www.cs.berkeley.edu/~bh/">Brian
+Harvey</A><BR>University of California, Berkeley</CITE>
+<TR><TD align="right"><BR>
+<TR><TD align="right"><A HREF="../pdf/v1ch16.pdf">Download PDF version</A>
+<TR><TD align="right"><A HREF="../v1-toc2.html">Back to Table of Contents</A>
+<TR><TD align="right"><A HREF="https://people.eecs.berkeley.edu/~bh/v1ch15/v1ch15.html"><STRONG>BACK</STRONG></A>
+chapter thread <A HREF="appendix-gpl.html"><STRONG>NEXT</STRONG></A>
+<TR><TD align="right"><A HREF="https://mitpress.mit.edu/books/computer-science-logo-style-second-edition-volume-1">MIT
+Press web page for Computer Science Logo Style</A>
+</TABLE></TABLE>
+
+<HR>
+
+<P><EM>(This HTML version of this appendix has been updated since the
+book was published, so it's a little different from the PDF, which
+is identical to the paper books.  But you might also want to read
+<A HREF="../announce">the announcement file</A> for the most recent
+release, which will have the most up-to-date information on
+downloading and installing UCBLogo.)</EM>
+
+<P>One of my reasons for writing a second edition of these books was that all
+of the Logo interpreters described in the first edition are now obsolete.
+Current commercial Logo implementations are quite different in their user
+interface from those traditional versions.  Those differences make newer
+Logo implementations more immediately accessible to children who want to
+produce animated graphics, but in many cases the changes have made the kind
+of programming I do in these books harder.
+
+<P>My solution has been to produce, along with some of my students, a Logo
+interpreter that is available free of charge for most popular computers.
+The design goal of Berkeley Logo has been that a program written for one
+kind of computer should run entirely unchanged on any other kind.  Still,
+there are slight differences in the user interface and in the installation
+process, and this appendix discusses those differences.  Since Berkeley
+Logo is distributed with source files, I hope that as new computers and
+operating systems come along, some enthusiast will make Berkeley Logo
+available for them even if I don't catch them all.
+
+<P>Still, people who are using some other version of Logo for other purposes
+might well want to use these books to help them learn more advanced Logo
+ideas.  The programs in this first volume can be adapted to current
+commercial Logo dialects with some effort.  In the later volumes I rely more
+heavily on features that are available only in Berkeley Logo.
+
+<P><H2>Getting Berkeley Logo</H2>
+
+<P>Berkeley Logo is available over the Internet. Make an anonymous FTP connection to
+<CODE>ftp.cs.berkeley.edu</CODE> and look in the directory <CODE>pub/ucblogo</CODE>,
+or just follow the links here:
+
+<P><TABLE>
+<TR><TD><A HREF="../downloads/blogo.exe"><CODE>blogo.exe</CODE></A>
+<TD>&nbsp;&nbsp;&nbsp;Self-extracting archive for DOS.
+<TR><TD><A HREF="../downloads/ucbwlogosetup.exe"><CODE>ucbwlogosetup.exe</CODE></A>
+<TD>&nbsp;&nbsp;&nbsp;Installer for Windows.
+<TR><TD><A HREF="../downloads/ucblogo.sea.hqx"><CODE>ucblogo.sea.hqx</CODE></A>
+<TD>&nbsp;&nbsp;&nbsp;BinHex self-extracting archive for classic Macintosh.
+<TR><TD><A HREF="https://people.eecs.berkeley.edu/~bh/downloads/ucblogo.tar.Z"><CODE>ucblogo.tar.Z</CODE></A>
+<TD>&nbsp;&nbsp;&nbsp;Compressed <CODE>tar</CODE> archive for Unix and Mac OS X.
+</TABLE>
+
+<P>If you use FTP, the files should be transferred in binary (image) mode.
+
+<P>The DOS, Windows, and Mac versions include a <CODE>source</CODE>
+subdirectory containing
+the C source files used to compile Berkeley Logo.  If you don't want to play
+with the code, you can delete this directory and all its contents.  You can
+also delete some or all of the contents of the <CODE>docs</CODE> directory,
+which has the
+user manual in various formats (Postscript, PDF, HTML, INFO, TEXI).  The
+HTML files are particularly huge, if you're looking for something to delete.
+(In the Unix version, the source files are in the top-level directory of the
+distribution.)
+
+<P>In the source directory, the file <CODE>plm</CODE> is a Program Logic Manual that
+documents some of the inner mysteries of this interpreter.  You should read
+<A HREF="http://mitpress.mit.edu/sicp/"><CITE>Structure and
+Interpretation of Computer Programs</CITE></A> before you read <CODE>plm</CODE>.
+Also included is <CODE>evaluator.ps</CODE>, a beautiful one-page simplified flowchart
+of the evaluator to admire while reading <CODE>plm</CODE>.
+
+<P>In the Unix version, if you want to save space, you can delete the entire
+ucblogo directory created by tar once you've done "make install".
+
+<P><H2>Berkeley Logo for Unix</H2>
+
+<P>Since there are so many different versions of Unix, Berkeley Logo is
+distributed in source form, and must be compiled for your particular
+machine.  A Gnu Autoconf configuration file is provided, so the
+compilation process should be reasonably automatic.  The X11 library
+is required for turtle graphics.
+
+<P>The Unix version is a compressed tar file.  To install it, copy to your
+machine, then say
+
+<PRE>uncompress ucblogo.tar
+tar -xf ucblogo.tar
+cd ucblogo
+configure
+make
+</PRE>
+
+Then, from an account with root privileges, <CODE>make install</CODE> to
+install the Logo files in <CODE>/usr/local</CODE>.
+
+<P>If you have <CODE>gunzip</CODE>, you can instead get
+<A HREF="../downloads/ucblogo.tar.gz"><CODE>ucblogo.tar.gz</CODE></A>
+(better compression).
+
+<P>Logo uses your system's interrupt character for stop, and your
+system's quit character for pause.
+
+<P>For the <CODE>edit</CODE> command, Logo uses whatever program is specified in
+your <CODE>EDITOR</CODE> environment variable.  If your editor exits with nonzero
+status (indicating an error) then Logo will not carry out the changes
+indicated in the edited file.
+
+If you have Mac OS X, and you have the
+<A HREF="http://www.apple.com/downloads/macosx/apple/x11formacosx.html">X
+Window System</A> installed, then you can follow these instructions to
+install Unix UCBLogo.  Alternatively, you can run the Mac Classic version
+described next.
+
+<P><H2>Berkeley Logo for the Macintosh</H2>
+
+<P>There are two ways to run Logo on the Mac.  There is a Mac-specific version
+for Classic Macs (which will also run in the Classic Environment under OS X).
+Alternatively, you can run the Unix version under OS X, provided that
+you've installed the X Window System.  This section describes the Classic
+version; the previous section describes the Unix version.
+
+<P>Your Web browser probably knows how to expand and install the archive
+by itself; if not, you need something like StuffIt to do the job.  The
+result of the expansion will be a folder containing the <CODE>ucblogo</CODE>
+executable along with needed library files.  You can move this folder to
+anyplace convenient.
+
+<P>Command-period means stop; command-comma means pause.
+
+<P>On the Mac, Berkeley Logo includes a very simple-minded editor built into
+Logo itself.  It works in the usual Macintosh way; when you have finished
+editing, you can select &quot;accept editor changes&quot; or &quot;cancel editor
+changes&quot; from the <CODE>Edit</CODE> menu.
+
+<P>Macintosh users will find the Berkeley Logo user interface disconcerting,
+because it was designed to be Logo-like rather than Macintosh-like.  For
+example, you should use the Logo commands <CODE>splitscreen</CODE>, <CODE>
+fullscreen</CODE>, and <CODE>textscreen</CODE> to rearrange Logo's text and graphics
+windows, rather than trying to resize them with the mouse, although the latter
+will work, too.
+
+<P><H2>Berkeley Logo for Windows</H2>
+
+<P>The Windows version of Berkeley Logo is called <CODE>ucbwlogo.exe</CODE>.
+The file you download is an installer that should be self-explanatory.
+Like the DOS version, it uses a separate editor of your choice.  The
+default editor is <CODE>jove</CODE>, which is included in the distribution.
+
+<P>There is an offshoot of
+Berkeley Logo called
+<A HREF="http://www.softronix.com/logo.html">MSWLogo</A>, written
+by George Mills, specifically
+for Windows.  It has a more point-and-click style interface, and doesn't
+work well with those projects that make heavy use of reading from the
+keyboard or controlling the position of text on the screen; the Solitaire
+and Cryptographer's Helper projects in Volume 2 and the finite state
+machine simulator in Volume 3 are most problematic.  But for general
+use, MSWLogo is a good option for Windows users.
+
+<P><H2>Berkeley Logo for DOS</H2>
+
+<P>The DOS version is in the form of a self-extracting <CODE>pkzip</CODE> archive.
+Run <CODE>blogo.exe</CODE> ; it will create two files, <CODE>install.bat</CODE>
+and <CODE>installu.exe</CODE>.  Then
+run <CODE>install</CODE> to create a <CODE>c:\ucblogo</CODE> directory with the complete
+distribution.  If you want to install
+Logo somewhere other than <CODE>c:\ucblogo</CODE>, you can say 
+
+<P><PRE>installu -d d:\foo\</PRE>
+
+<P>to put it in <CODE>d:\foo\ucblogo</CODE>.  <EM>Don't forget the <CODE>-d</CODE>
+part!</EM>
+
+<P>Berkeley Logo is provided in two executable versions:
+
+<TABLE cellpadding="5">
+<TR><TD valign="top"><CODE>ucblogo.exe</CODE>
+<TD><TD> runs on 286-and-up processors, and uses extended memory
+if you have it, so you can run large Logo programs.
+<TR><TD valign="top"><CODE>bl.exe</CODE>
+<TD><TD> runs on any PC, but is limited to 640K.  That's not big
+enough for some of the larger projects in the later volumes.
+</TABLE>
+
+<P>In order to run <CODE>ucblogo.exe</CODE> you must have the file
+<CODE>zpm.exe</CODE> (which is provided) in your DOS path.  <CODE>Zpm</CODE>
+has to figure out what kind of extended memory interface you have, and in some
+cases it needs help.  You must use the DOS command
+
+<P><TABLE>
+<TR><TD><CODE>set DOS16M=1</CODE><TD>&nbsp;&nbsp;&nbsp; for NEC 98-series
+<TR><TD><CODE>set DOS16M=5</CODE><TD>&nbsp;&nbsp;&nbsp; for Fujitsu FMR-60 or 70
+<TR><TD><CODE>set DOS16M=6</CODE><TD>&nbsp;&nbsp;&nbsp; for AT&amp;T 6300 Plus
+<TR><TD><CODE>set DOS16M=7</CODE><TD>&nbsp;&nbsp;&nbsp; for old Phoenix BIOS versions
+<TR><TD><CODE>set DOS16M=13</CODE><TD>&nbsp;&nbsp;&nbsp; for Zenith Z-24X with old BIOS
+<TR><TD><CODE>set DOS16M=INBOARD</CODE><TD>&nbsp;&nbsp;&nbsp; for 386 with Intel Inboard
+</TABLE>
+
+<P>Even if UCBLOGO runs correctly for you without any of these settings (which
+will be the case for most machines) you might try
+<CODE>set DOS16M=10</CODE> for faster performance on some systems
+but slower on others -- experiment.
+
+<P><CODE>Ucblogo</CODE> and <CODE>bl</CODE> also usually figure out correctly what kind of
+graphics board you have.  But for some obscure clones with nonstandard
+graphics you might have to tell it which graphics mode to use.  This is also
+done with a DOS command:
+
+<P><PRE>set FG_DISPLAY=<EM>xxxx</EM>
+</PRE>
+
+<P>where <CODE><EM>xxxx</EM></CODE> is the board type and mode, one of
+the following:
+
+<P><PRE>CGAHIRES, CGAMEDRES, EGACOLOR, EGAECD, EGAMONO, EGALOWRES,
+HERC, ORCHIDPROHIRE, PARADISEHIRES, TOSHIBA, TRIDENTHIRES,
+VEGAVGAHIRES, VESA6A, VESA2, VGA11, VGA12, VGA13, 8514A
+</PRE>
+
+<P>I don't know anything about any of these except that <CODE>TOSHIBA</CODE> is for a
+T3100 and doesn't work on my T1200XE.  I use <CODE>VGA12</CODE> on my generic clone.
+
+<P>There are some graphics modes that will work with <CODE>bl</CODE> but not with
+<CODE>ucblogo</CODE>, including <CODE>VESA1</CODE> for 256 colors of 640x480.
+
+<P>Finally, note that Logo writes directly to the screen and is therefore
+incompatible with &quot;screen accelerator&quot; TSRs.  (For example, my PC comes
+with one called <CODE>pckscrn</CODE> and I had to turn it off before running Logo.)
+The file <CODE>ucl.bat</CODE> is a sample batch file that I use to disable the screen
+accelerator, run Logo, then re-enable it.  If you have a different
+screen accelerator you'll need different commands, of course, but the
+idea is the same.
+
+<P>Ctrl-break or ctrl-Q means stop, ctrl-W means pause.
+
+<P>The Logo <CODE>edit</CODE> command runs a separate editor, starting that editor with
+a file containing your selected procedures.  Logo will use whatever
+editor you want, if there is an <CODE>EDITOR</CODE> variable in your DOS environment.
+By default, Logo uses Jove, a version of EMACS, which is provided with Logo.
+This version of Jove is set up so that typing ctrl-C will save the file
+and return to Logo.  You need to put
+
+<P><PRE>SET JOVERC=C:\UCBLOGO\JOVE\JOVE.RC
+SET DESCRIBE=C:\UCBLOGO\JOVE\CMDS.DOC
+</PRE>
+
+<P>in your <CODE>autoexec.bat</CODE> or something so that Jove will start up right.
+<CODE>Cmds.doc</CODE> is the Jove reference manual, used for its online help.
+
+<P>You also need
+
+<P><PRE>SET LOGOLIB=C:\UCBLOGO\LOGOLIB\
+</PRE>
+
+<P>(yes, ending with backslash) in your autoexec.bat so that Logo can
+find its library files.
+
+<P><A HREF="../v1-toc2.html">(back to Table of Contents)</A>
+<P><A HREF="https://people.eecs.berkeley.edu/~bh/v1ch15/v1ch15.html"><STRONG>BACK</STRONG></A>
+chapter thread <A HREF="appendix-gpl.html"><STRONG>NEXT</STRONG></A>
+
+<P>
+<ADDRESS>
+<A HREF="../index.html">Brian Harvey</A>, 
+<CODE>bh@cs.berkeley.edu</CODE>
+</ADDRESS>
+</BODY>
+</HTML>