Discussion:
Freeware Berkeley Logo interpreter 5.4 released
(too old to reply)
Brian Harvey
2004-11-30 04:35:51 UTC
Permalink
Release 5.4 of Berkeley Logo is now available by anonymous FTP or Web.
This release is available only for Unix (including MacOS X) and Windows,
until I get back to California where my Classic Mac and my DOS machine live.
Version 5.3 remains available for Classic Mac and DOS.
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 four more parts:
* How to get Berkeley Logo.
* Installation instructions.
* Details about this release.
* Pointers to other people's Berkeley-Logo-related distributions.

----------------------------------------
HOW TO GET BERKELEY LOGO:
----------------------------------------

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
MacOS X version, self-installing, BinHex.

pub/ucblogo/usermanual Just the documentation file.

Be sure to use BINARY transfer mode when retrieving the archive files!

Alternatively, you can download Berkeley Logo from the World-Wide Web.
You'll find pointers on http://http.cs.berkeley.edu/~bh/logo.html

(The filenames above are links to filenames that include the version number,
e.g., ucblogo-5.4.tar.gz; either name is okay. Anything other than the current
version, if still online, is in the subdirectory pub/ucblogo/old.)

-----------

The Mac 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.

-----------

The Unix version is a gzipped tar file. To install it, copy to your
machine, then say
gunzip ucblogo.tar
tar -xf ucblogo.tar
cd ucblogo
configure
make

-----------

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".

----------------------------------------
INSTALLATION INSTRUCTIONS:
----------------------------------------

Unix version: 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.)

---------

The Windows version, 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.

---------

The Mac installer puts Logo in /usr/bin/logo and puts runtime support files
and documentation in /usr/lib/logo. To run Logo, you must start X11, then
type "logo" into an xterm window. The installer puts the source files in,
by default, /ucblogo-5.4 but that's movable. The installer has an uninstall
option as well as a "custom install" to select only the desired components.

----------------------------------------
THIS RELEASE:
----------------------------------------

All platforms:

Fix bug that embedded null characters in print-to-buffer
generated strings.

Fix graphics routines that didn't call prepare_to_draw (has
different effects on different platforms).

Change the print-to-string feature so that you can OPENWRITE
a string, then SETWRITE to and from it repeatedly, then CLOSE
it, just like a file, and all output is accumulated correctly.

If you CLOSE the current reader or writer, then the reader or
writer is changed to stdin or stdout.

SETEDITOR sets EDITORNAME variable as well as EDITOR.

If a file named startup.lg exists in the initial working
directory, it is loaded when Logo starts.

Check for zero arg to MOD or REMAINDER.

(RANDOM 3 8) is equivalent to (RANDOM 6)+3.

Fatal error messages get printed (instead of causing
another fatal error).

compare_node() can handle quoted list without crashing.

Fixed bug about procedures defined with DEFINE of literal lists
sharing code. (DEFINE now deep-copies its second input.)

An instruction line starting with #! is taken as a comment.
This allows a Logo program file to be shell-executable if you put
#! /usr/local/bin/logo
as its first line. (This only benefits Unix users, but the
feature applies to all platforms.)

New operation PRIMITIVES returns the a list containing the names
of all primitive procedures, including synonyms created with COPYDEF.

New infix operators <=, >=, and <> and new operations
LESSEQUALP, GREATEREQUALP, and NOTEQUALP.

FPUT and LPUT will now accept a word as the second input,
provided that the first input is a one-letter word. (This
restriction preserves the fact that FPUT and FIRST are opposites.)

TO in the middle of a line gives a correct title line to the
resulting procedure. Also, COPYDEF "FOO "TO works.

COPYDEF of a defined procedure generates a correct title line
(with the new name instead of the old), and, therefore, no longer
buries the new procedure.

ASCII now handles backslashed characters (in particular, the
ones returned by READCHAR for control characters) correctly.

The CSLSLOAD command loads a file from the directory containing the
_Computer Science Logo Style_ example programs. (Added because
the Windows version now starts in the user's Documents directory
rather than in the Logo installation directory.) The SETCSLSLOC
command can be used to change Logo's idea of where it is.

Fixed a bug about redrawing graphics with consecutive turtle moves
with the pen up. (This led to a crash in Windows and a premature
end of drawing on all platforms.)

Windows:

The installer and Logo agree on the registry name HELPFILE for the
help file installation directory.

Logo now starts in the user's "My Documents" folder rather than in
C:\UCBLOGO and/or wherever the shortcut is found. This should help
with users on shared systems prevented from saving by file access
restrictions.

The installer now offers the option of making UCBLogo the default
application for .lg files, so they can be double-clicked to start
Logo.

Fixed a bug in the parsing of command-line arguments that prevented
giving Logo a quoted filename to run.

The desktop icon is now installed for all users, like the start
menu entry, if the installer runs with Administrator privilege.

Unix/MacOS X:

Default editor is emacs instead of jove (mainly for the sake
of MacOS, whose X11 installation includes emacs but not jove).

'configure' sets up makefile to use gmake if available, else make.

helpfiles/ALL_NAMES is a file with all the procedure and variable
names from the user manual, one per line, for use by emacs
logo-mode procedure coloring.

New emacs logo-mode version 3.0 with syntax checking.

MacOS X version now has a double-clickable installer that puts
the files needed to run Logo in /usr/bin and /usr/lib/logo;
source files are by default in /ucblogo-5.4 but can be moved.
(Note, Logo itself isn't double-clickable.)

In the Unix tarball, docs files are no longer inside the emacs
directory.


----------------------------------------
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.

---
Hrvoje Blazevic
2004-11-30 09:15:25 UTC
Permalink
Post by Brian Harvey
Release 5.4 of Berkeley Logo is now available by anonymous FTP or Web.
This release is available only for Unix (including MacOS X) and Windows,
until I get back to California where my Classic Mac and my DOS machine live.
Version 5.3 remains available for Classic Mac and DOS.
Berkeley Logo (a/k/a UCBLogo) is FREE SOFTWARE, with source code included.
-------------
[snip]
Post by Brian Harvey
TO in the middle of a line gives a correct title line to the
resulting procedure. Also, COPYDEF "FOO "TO works.
COPYDEF of a defined procedure generates a correct title line
(with the new name instead of the old), and, therefore, no longer
buries the new procedure.
Ooo-huh? I should have been told about this???
This probably means that logo-mode 3.0.1 will be necessary.

-- Hrvoje
Brian Harvey
2004-11-30 18:10:33 UTC
Permalink
Post by Brian Harvey
Release 5.4 of Berkeley Logo is now available by anonymous FTP or Web.
Oops, Hrvoje found a bug in the makefile, affecting only the Unix version,
so I've posted a new one today. If you downloaded right after the
announcement and got an error in the install, download it again. Sorry!
Loading...