Path: border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!newshub.sdsu.edu!headwall.stanford.edu!newsfeed.stanford.edu!newsfeed.berkeley.edu!ucberkeley!agate.berkeley.edu!agate!abbenay.CS.Berkeley.EDU!not-for-mail From: bh _at_ abbenay.CS.Berkeley.EDU (Brian Harvey) Newsgroups: comp.lang.logo,comp.edu Subject: Berkeley Logo (UCBLogo) 5.5 released (freeware) Date: Wed, 10 Aug 2005 05:22:21 +0000 (UTC) Organization: University of California at Berkeley, Department of Electrical Engineering and Computer Science Lines: 301 Message-ID: Reply-To: bh _at_ cs.berkeley.edu NNTP-Posting-Host: abbenay.cs.berkeley.edu X-Trace: agate.berkeley.edu 1123651341 71055 128.32.153.200 (10 Aug 2005 05:22:21 GMT) X-Complaints-To: usenet _at_ agate.berkeley.edu NNTP-Posting-Date: Wed, 10 Aug 2005 05:22:21 +0000 (UTC) Xref: number1.nntp.dca.giganews.com comp.lang.logo:22304 comp.edu:11775 X-Cache: nntpcache 3.0.1 (see http://www.nntpcache.org/)
Release 5.5 of Berkeley Logo is now available by anonymous FTP or Web. Versions are available for Unix, Windows, and MacOS X. (The DOS and MacOS Classic versions are frozen at 5.3, still online.) Berkeley Logo (a/k/a UCBLogo) is FREE SOFTWARE, with source code included. -------------
Logo is the educational programming language best known for its "turtle graphics" but also featuring easy and powerful facilities for computing with words and sentences. Sample projects included with the Berkeley Logo distribution range from a tic-tac-toe game to a Pascal compiler and a Logo implementation of Student, Daniel Bobrow's program that solves algebra word problems.
Berkeley Logo is distributed under the terms of the GNU General Public License: You may redistribute it freely, and you may use it as a base for developing additional free software, but you may not use it as a base for commercial software products. The exact details are included in the distribution, in the file named GPL.
Advantages of Berkeley Logo:
* It's free. * It comes with source files (in C). * Logo programs are completely compatible among Unix, PC, and Mac.
Disadvantages of Berkeley Logo:
* It's relatively slow. * It doesn't do anything fancy about graphics. (One turtle.)
This announcement has five more parts: * How to get Berkeley Logo. * Installation instructions. * Details about this release. * Pointers to other people's Berkeley-Logo-related distributions. * Instructions for DOS and MacOS Classic.
---------------------------------------- HOW TO GET BERKELEY LOGO: ----------------------------------------
To use a web browser, go to http://www.cs.berkeley.edu/~bh/logo.html
Or, FTP to ftp.cs.berkeley.edu and get any of the following files:
pub/ucblogo/ucblogo.tar.gz Unix sources and documentation (gzip format)
pub/ucblogo/ucbwlogosetup.exe Windows version, self-installing, with executable UCBWLOGO.EXE
pub/ucblogo/macosx-ucblogo-Installer.hqx Mac OS X version, BinHexed installer
pub/ucblogo/usermanual Just the documentation file.
(The filenames above are links to filenames that include the version number, e.g., ucblogo-5.5.tar.gz; either name is okay. Anything other than these versions, if still online, is in the subdirectory pub/ucblogo/old.)
-----------
The Windows and Mac versions include a SOURCE 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 DOCS directory, which has the usermanual 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.)
In the source directory, the file plm is a Program Logic Manual that documents some of the inner mysteries of this interpreter. You should read _Structure and Interpretation of Computer Programs_ before you read plm. Also included is evaluator.ps, a beautiful one-page simplified flowchart of the evaluator to admire while reading plm.
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".
The Unix version is a compressed tar file. To install it, copy to your machine, then say gunzip ucblogo.tar tar -xf ucblogo.tar cd ucblogo configure make
The makefile compiles with optimization turned off. This is necessary to avoid mysterious garbage collection failures. (NOTE: On my HP 712, for reasons I don't understand, I had to compile the entire interpreter without optimization. But on other platforms, such as PCs running Linux and FreeBSD, it's sufficient merely to un-optimize mem.c. If that works on your machine, you can remove the "-O0" at the end of the CFLAGS line at the beginning of the makefile, after running configure.)
A real UI project is in the works, but meanwhile, you might be interested in rlwrap, a program that "wraps" the GNU Readline library around an arbitrary command, so that by saying "rlwrap logo" you'll be able to get line editing, command history, etc: http://utopia.knoware.nl/~hlub/uck/rlwrap/
---------
The Windows version is in the form of an installer, with the usual options for desktop icons and the like.
The Logo interpreter, named UCBWLOGO.EXE, requires Windows 95/98/Me/NT/2000/XP or later (not 3.1; sorry). It is distributed as a self-installing setup file.
---------
There is a separate installer for the Mac OS X version. This is the same as the Unix version, but precompiled for the Mac. You must also install the X11 package from the Developer Tools CD-ROM in the OS X distribution. (The Logo installer will warn you if you don't have X11 installed.) You need an administrator account to install Logo.
If you're installing Logo at a school at which nobody uses X11 for anything else, you can make it so clicking the X11 icon in the dock will start Logo as it's starting X11. To do that, in the file /etc/X11/xinit/xinitrc, change the lines at the end that now say # start some nice programs xterm & # start the window manager exec quartz-wm so that they instead say /usr/X11R6/bin/quartz-wm & /usr/X11R6/bin/xterm +sb -n Logo -e logo I actually put more xterm arguments on that last line, to control the appearance of the window to suit my preferences, like this: /usr/X11R6/bin/xterm +sb -n Logo -bg black -fg white -ms orange -fn -adobe-courier-medium-r-normal--20--75-75-m-0-iso8859-1 -geometry 80x25-5+124 -e logo (That's actually one long line in the file.) Say "man xterm" in the shell to learn all the options.
A real UI project is in the works, but meanwhile, you might be interested in rlwrap, a program that "wraps" the GNU Readline library around an arbitrary command, so that by saying "rlwrap logo" you'll be able to get line editing, command history, etc: http://utopia.knoware.nl/~hlub/uck/rlwrap/
---------------------------------------- THIS RELEASE: ----------------------------------------
All platforms:
The turtle is drawn one step behind its actual "hot spot" position, so that after drawing a polygon it doesn't obscure part of the resulting figure. (This is a heuristic; it will still obscure parts of really dense figures.)
PRINTOUT un-abbreviates PO.
A valid procedure name followed by a string of digits, with no space in between, e.g., FD100, is recognized as if there were a space, with a warning message.
BUTTONP outputs TRUE if a mouse button is down and the mouse is over the graphics window. Once the button is down, BUTTONP remains true until the button is released, even if the mouse is dragged out of the graphics window.
BUTTON outputs 0 if BUTTONP would output FALSE; otherwise, it outputs an integer between 1 and 3 indicating which button was pressed. Ordinarily 1 means left, 2 means right, and 3 means center, but operating systems may reconfigure these.
MOUSEPOS outputs the coordinates of the mouse, provided that it's within the graphics window, in turtle coordinates.
SETPC/SETBG now accept either a color number as before or an RGB list; PC/BG output whichever form was most recently given to SETPC/SETBG.
SETPENSIZE accepts a single positive integer n meaning [n n].
ARC reduces angles greater than 360 to 360 + (angle mod 360) so that long uninterruptable arcs don't happen when kids type in huge angles.
CLEARTEXT flushes output so it happens right away.
Backquotes (`) can now be nested.
New demo programs (in CSLS folder even though not from CSLS): MINES (minesweeper), MASTER (mastermind), DOTGAME (dots). Also STREAMS (inelegant implementation of lazy lists) and BUTTONS (simple GUI with clickable buttons in graphics window). The file GAMEDOC in the UCBLOGO directory (Mac version: installed into /usr/doc/logo/gamedoc) documents these new projects.
Turtle moves with distance greater than 2^31 get an error message instead of wrong results.
Error message for extra procedure inputs inside parens now includes the procedure name.
Fixed parsing in LOAD of lines with both ; and ~.
Fixed buffer overrun in copydef of procedure with long title line.
Buried variable LogoVersion has as its value a floating point number equal to the current UCBLogo version number.
Buried variable LogoPlatform has as its value one of these words: Unix-Nographics Windows X11
Better error message when the expression returned by a macro uses an undefined procedure.
Most file I/O error messages include the filename.
Windows:
The MAXIMIZE.WINDOW command takes one input. If TRUE, maximize the Logo window to fill the screen; if FALSE, return the window to its ordinary size. (I added this just for Windows because I needed it to let the new game examples fit! Soon there'll be a uniform cross-platform UI, I promise.)
The installer lets you choose between Jove (the mini-Emacs that has always been included with UCBLogo) and Notepad (M$ stripped-down editor for beginners) as the default editor.
Mac:
Installer allows TextEdit or Emacs as the default editor.
Unix:
---------------------------------------- OTHER UCBLOGO-RELATED DISTRIBUTIONS: ----------------------------------------
MSWLogo is a free port of Berkeley Logo to Microsoft Windows done by George Mills. He has added a lot of Windows-specific capability to the language, so you can do cool multimedia stuff with it. Look in
http://www.softronix.com/logo.html
---
Adaptation francaise pour MSWLogo et UCBLogo:
A startup file and documentation for UCBLogo in French is at
http://www.algo.be/logo1/MSWlogo-fr.html
Thanks to Francis Leboutte.
---------------------------------------- VERSION 5.3 FOR OLDER PLATFORMS: ----------------------------------------
To use a web browser, go to http://www.cs.berkeley.edu/~bh/logo.html
Or, FTP to ftp.cs.berkeley.edu and get any of the following files:
pub/ucblogo/blogo.exe DOS version, PKZIP format, including executables BL.EXE and UCBLOGO.EXE
pub/ucblogo/ucblogo.sea Mac Classic version, StuffIt format, w/executable Logo pub/ucblogo/ucblogo.sea.hqx Mac Classic version, BinHexed StuffIt format, including executable Logo
Be sure to use BINARY transfer mode when retrieving the archive files!
-----------
The DOS 5.3 version is in the form of a self-extracting PKZIP archive. Run BLOGO.EXE ; it will create two files, INSTALL.BAT and INSTALLU.EXE. Then run INSTALL to create a C:\UCBLOGO directory with the complete distribution. If you want to install Logo somewhere other than C:\UCBLOGO, you can say installu -d d:\foo\ to put it in d:\foo\ucblogo. DON'T FORGET THE "-d" PART!
The DOS distribution includes two executable programs. BL.EXE runs on any DOS PC, but is limited to 640K of memory. UCBLOGO.EXE requires a 286-or-better processor, but is able to take advantage of extended memory if you have it. Read the README file for technical details.
The BL.EXE version, for really old 8086 PCs, is frozen at version 3.6, because the garbage collection algorithm introduced in version 4.0 doesn't work well with really small memory.
-----------
The Mac Classic 5.3 version is in the form of a BinHex-converted self-extracting StuffIt archive. To install it, just copy to your hard disk, un-BinHex it (this may be done automatically by your file transfer program), and double-click on it.