Introduction to TCL
A Brief History
TCL (Tool Command Language) was written by John Ousterhout, and presented to
the computing community in 1990. It is a general purpose language, available for
several platforms, and is used in a wide variety of applications, two of the
more recent being an implementation within eggdrop bots, and a plug-in for web
browsers such as Netscape.
In 1991, he then presented a package called
TK, which is a graphical toolkit add-on to TCL. Since TK is not part of the
implementation of TCL in eggdrop bots, these notes will say no more about TK
(however, it is part of the TCL plug-in for Netscape).
When Robey
Pointer included TCL as part of his eggdrop bot creation, he also extended the
TCL to include bot-specific functions. As a result, we will occasionally refer
to 'pure' TCL as opposed to that extension.
Resources
Here are some places to obtain
information about pure TCL and its eggdrop extension:
- these notes, of course:)
- at the left, click on Downloads; there you will find the file
tcl-commands.doc which is an exhaustive reference on the eggdrop extension of
TCL
- Scriptics - full reference
manual on pure TCL
- the book "TCL/TK in a Nutshell", by Paul Raines and Jeff Tranter,
published by O'Reilly and Associates, Inc., 1999, 440 pages, including index,
ISBN: 1-56592-433-9
- the book "TCL/TK Pocket Reference", by Paul Raines, published by O'Reilly
and Associates, Inc. 1998, 90 pages, including index, ISBN: 1-56592-498-3
About These Notes
Given the existence of the
resources cited above, there isnt much point in yet another set of notes
designed to walk people through the language syntax, etc. Consequently, these
notes will take more of a project approach. We will use TCL to write real
scripts, introducing only those parts of the language that are needed as we go
along. The hope is that this will confine the reader's attention to the most
important parts of TCL, first, and provide a thorough understanding of the
little bit covered here, rather than a superficial understanding of a
lot.
Use the menu at the top, to navigate through the
lessons.