Tcl

by John Ousterhout
University of California at Berkeley

This directory contains the sources for Tcl, an embeddable tool command
language.  For an introduction to the facilities provided by Tcl, see
the paper ``Tcl:  An Embeddable Command Language'', in the Proceedings
of the 1990 Winter USENIX Conference.  A copy of that paper is included
in this directory in Postcript form:  it's in the file "usenix.ps".

This file assumes that you have received a Tcl distribution and are going
to use Tcl on a UNIX system;  if you're running under Sprite at Berkeley,
then some of the notes here may be incorrect.

The documentation for Tcl is present in this directory as a set of
files with ".man" extensions.  The file "Tcl.man" gives an overall
description of the Tcl language and facilities, and the other ".man
files describe the library procedures that Tcl provides for tools to use.
Read the "Tcl" man page first.  To print any of the man pages, use a
command like

		ditroff <file>

where <page> is the name of the man page you'd like to print.  Don't
specifiy any macros.

Type "make" to generate the Tcl library, and type "make tclTest" to
create a simple test program that you can use to try out the Tcl facilities.
TclTest is just a main-program sandwich around the Tcl library.  It reads
standard input until it reaches the end of a line where parentheses and
backslashes are balanced, then sends everything it's read to the Tcl
interpreter.  When the Tcl interpreter returns, tclTest prints the return
value or error message.  TclTest defines a few other additional commands
most notably:

		echo arg arg ...

The "echo" command prints its arguments on standard output, separated by
spaces.

There is a test suite for Tcl in the subdirectory "tests".  Read the
README file in that directory for more information on how to use it.

The file "changes" describes recent changes that have been made to Tcl.
If this isn't your first Tcl release, you should probably look through
"changes" to see what's changed.  If the major release number has changed,
i.e. from 2.x to 3.x, it means that there have been changes that aren't
backward-compatible.

I can't promise to provide a lot of help to people trying to use Tcl, but
I am interested in hearing about bugs or suggestions for improvements.
Send them to me at "ouster@sprite.berkeley.edu".
