Virtual Library
Computer Programming Languages
This page is accessible at the following alternative (and equivalent) URLs:
http://cui.unige.ch/eao/www/TclTk.html
http://cuisung.unige.ch/TclTk.html
and (to save network bandwidth) in gzip compressed format at:
http://cui.unige.ch/eao/www/TclTk.html.gz
http://cuisung.unige.ch/TclTk.html.gz
John Ousterhout left Sun Microsystems to create Scriptics, which has, later on, been renamed Ajuba Solutions, which has been acquired by Interwoven in October 2000. As a result, TclPro was released into the open source community by Interwoven,
A Tcl consortium was created but their site doesn't seem reachable anymore. The former primary site at Sun has been closed.
The Tcl and Tk core distribution is still freely available at http://sourceforge.net/projects/tcl (for downloads, follow the link "view ALL project files") and at ftp://ftp.scriptics.com/pub/tcl/. See the Tcl-foundry site for details. The core distribution is also available at http://www.ActiveState.com/ASPN/Tcl/.
Tcl development is now organized by the Tcl Core Team (TCT). The latest information is to be found in the Tcl Developer Xchange pages (now hosted by ActiveState.com), and particularly the pages about Tcl/Tk 8.4a2 (latest alpha release) and Tcl/Tk 8.3.3 (latest official release). Version 8.3.3 is a stable production release of Tcl/Tk 8.3.
Version 8.3 includes improved image and graphic handling.
Version 8.2 includes substantial performance improvement for string manipulations, and various bug fixes.
Version 8.1 introduced support for Unicode and internationalized applications via support for UTF-8 character format (see RFC 2044). It also added thread-safety to the C implementation, an all new regular expression package, multi-threading, and a message catalog.
Former versions are also accessible at the Tcl Developer Xchange site, see the release summary table for details. The major change in version 8.0 is the introduction of a compilation phase that increases the execution speed manyfolds, but it also includes namespaces, binary I/O, native look and feel on Windows and Macintoshes, a new font mechanism, and application embedding. See also "Changes to Tcl script semantics in Tcl 8.0" and Tcl Developer Xchange's "What's new".
Lots of resources and information are available in the Tcl URL Database.
See also the www.tcltk.org Web site.
Mike Hopkirk's
TCL WWW Info
has very extensive info about Tcl (check its
Tcl/TK Resources entry, under
the Other Tcl Info Collations heading). An old versions of Mike Hopkirk's
TCL WWW Info page is at
tcltk.com is a site for the Tcl/Tk community.
The Open Directory has
an entry
on Tcl/Tk.
Links2go has an
entry for Tcl/Tk
Yahoo has an
entry
on Tcl/Tk
Lycos has an
entry
on Tcl/Tk
AltaVista has an
entry
on Tcl/Tk (looks like an older copy of Lycos' page)
WebCrawler has an
entry
on Tcl/Tk
Galaxy has an
entry
on Tcl/Tk
Google has an
entry
on Tcl/Tk
The
hypertext version of the
FAQ is now maintained by the original author of the Usenet version,
Larry W. Virden. A somewhat
obsolete version can still be found at
http://www.cis.ohio-state.edu/hypertext/faq/usenet/tcl-faq/top.html and
is mirrored (with online Man pages and other goodies) at
http://www.sco.com/Technology/tcl/Tcl.html
.
There is a separate
FAQ for Tcl/Tk on Windows
Kevin B. Kenny
has an interesting document analyzing
Dynamic Loading for Tcl.
David Martland has
written an
introduction
to Tcl/Tk. This document is dated 1994!
Wayne Christopher has collected
some News articles comparing
Tcl with other systems.
Walnut Creek CDROM has an
ftp archive and used to have a
CD-ROM of Tcl/Tk
software (as of October 1995, it had Tcl 7.4p1 and Tk 4.0p1).
There is a large overlap between the list below and the list of books found in Tcl Developer Xchange Resource Center
John Ousterhout's book
Tcl and the Tk Toolkit is published by Addison-Wesley, ISBN 0-201-63337-X.
It is also available in German as Tcl und Tk, ISBN 3-89319-793-1.
An old draft
version is available from CICA, Indiana University. This draft is
by no means complete. PLEASE, don't write to the author to tell him about
mistakes you found in it: it's just a draft and the final book has already
been published!
Another book available online is Brent Welch's
Practical Programming in Tcl and
Tk, published by Prentice Hall (1st edition: ISBN 0-13-182007-9,
2nd edition: ISBN 0-13-616830-2). The second edition describes Tcl
and Tk 8.0. A few selected
chapters are available on-line. Please, note that the book is under copyright
by Prentice Hall. However, the draft of the first version is available on-line
for personal use. You can print one copy for personal use. Note that it
is not the same as what you can buy at the store. PLEASE, don't write
to the author to tell him about mistakes you found in it: it's just a draft
and the final book has already been published! A
Postscript copy of
the draft is available at Sun Microsystems. A
tar file of the
examples is available.
Eric Johnson has written
Graphical Applications
with Tcl and Tk, published by M&T Books, 1996, ISBN 1-55851-471-6.
Don
Libes' book Exploring Expect:
A Tcl-based Toolkit for Automating Interactive Programs is a book about
Expect, but contains an introduction to and an overview of Tcl.
J Adrian Zimmer has written
Tcl/Tk For
Programmers, published by the IEEE Computer Society (ISBN 0-8186-8515-8).
Sample chapters are available on-line and include short introductions to
Tcl, Tk, and the plugin.
Hattie Schroeder and Mike
Doyle wrote "Interactive Web Applications
with Tcl/Tk" for novice programmers, to introduce them to the ease and
power of Tcl/Tk and to show how Web applications, such as interactive Web
applets, Web browsers, Web servers, autonomous agents, client/server databases,
browser-pull, and server push applications can be quickly built using Tcl/Tk.
Clif Flynt has written
Tcl/Tk for Real
Programmers (link not yet active), that will be published by Academic
Press Professional in December 1998. The book focuses on writing scripts,
using namespaces and packages, writing extensions, describing available tools
and includes a CD-ROM with tutorials and code distributions.
Hal Abelson, Philip Greenspun,
and Lydia Sandon are the authors of
Tcl for Web Nerds. This
book focuses on Tcl, not Tk, and on using Tcl for the web. It often makes
reference to Scheme programming constructs, as the book is intended for MIT
students who have already been exposed to this dialect of LISP. (Note:
the complete content of the book is available on-line)
Many extensions are available
in
ftp://ftp.neosoft.com/pub/tcl/alcatel/extensions/.
Most of them are documented by a README file.
incr Tcl and
incr Tk extend Tcl/Tk to support
object-oriented programming. They include the [incr Widgets] library of more
than 35 mega-widgets (like file browsers, HTML viewers, and paned windows).
Version 2.1 includes: tcl7.6 and tk4.2, support for Unix, Windows and Macintosh
platforms, support for shared libraries and dynamic loading, "dash" patch
for extra canvas support, "plus" patch with support for C++ and standalone
wish, new "pixmap" image type, a new "chain" command for chaining method
invocations, etc. There is also a
tutorial available.
XOTcl is based on MIT's OTcl and is meant
to replace it. It is an Object-Oriented extension to Tcl/Tk. It supports
simple and multiple inheritance. It includes support for dynamic object
aggregation, nested classes, assertions, meta-data, per-object and per-class
mixins, filters and dynamic component loading. XOTcl is compatible with Tcl
8.0.5 and higher.
TkSM is a simple
OpenGL-based 3D modeling extension for Tcl7.4/Tk4.0 (p3) and Tcl7.5/Tk4.1.
See also OpenSpace,
a multi-user, distributed 3D modeling and simulation environment based on
TkSM.
Cpptcl
is a tool to allow simple integration of C++ objects with Tcl (and hence
Tk). It includes automatic support for Tcl argument parsing, command completion,
container classes, run-time type information, archival of object creations,
...
Tkpvm is a combination
of PVM (Parallel Virtual Machine) and Tcl/Tk. It allows one to spawn and
manage processes on multiple hosts and have these processes communicate through
pvm-channels.
obTcl is a pure-Tcl
object- and Megawidget-extension. See the
README file.
For those interested in
networking, Tcl-DP (Tcl-Distributed Processing)
version 3.2 is available. Tcl-DP is also available from
mm-ftp.cs.berkeley.edu, in the
/pub/multimedia/Tcl-DP directory, as
tcl-dp3.2.tar.Z.
Note: release 3.2 is compatible with Tcl7.3 and Tk3.6.
Note that since version 7.5 Tcl includes network features that might suffice your needs.
For those interested in
turning character-based interactive programs into batch ones, have a look
at Expect (there
is an alternate site, in France).
TIX is a set of compound widgets,
including a Combobox, a Motif style FileSelectbox, a PanedWindow widget,
a Notebook widget and many more, built on top of TK. I personally like its
pop-up menu facility. The author of TIX can be reached at
<ioi@xpi.com>.
Pacco
is a set of widgets that extends the toolkit Tk to supply object visualization.
A list of Tcl/Tk resources
and documentation about incrTcl is available at
http://www.tcltk.com/
TclX (a set of Tcl extensions
and a shell for Unix system programming tasks and large application development)
is available at
http://www.NeoSoft.com/tcl/ftparchive/tclx-distrib/.
The
Visualization Toolkit (VTK)
is an object oriented C++ class library for performing graphics and data
visualization. It includes a number of powerful visualization algorithms
built in, with rendering support for OpenGL, Starbase, GL, XGL and X.
The Tcl/Tk
visu extension
provides a new Tk widget called the pict widget. It is an image widget, geared
to gray-scale images. It was created by
Pierre-Louis Bossart.
Shaohua Zhou made an
extension of "visu" for the
visualization of geophysical data.
Jan Nijtmans has various
extensions, among which an extension to add dash and stipple outlines to
most canvas objects. He also has the
Img package, that
adds many image formats to Tk.
TSIPP
is a 3D image specification and rendering toolkit for creating 3-dimensional
scenes and rendering them using a scan-line z-buffer algorithm. It is compatible
with Tcl 7.4 & Tk 4.0 and can render to the new Tk photo image
Tcl
Data transformations (Tcl-Trf), by Andreas Kupries (a.kupries@westend.com),
is an extension that provides for data encryption, generation of message
digests, conversion from and to various data encodings, a reed-solomon error
correcting coder, and (de)compression based on zlib 1.0.4. Tcl-Trf is developed
for Tcl 7.6 or higher, and is available in
http://www.westend.com/~kupries/doc/trf/.
MICO
is a package to interface Tcl with CORBA-compliant software components.
An Ada
interface to Tcl is available from the Arcadia project. Another one,
named TASH, is available
from Terry J. Westley.
A
Prolog interface
to the Tcl/Tk toolkit is available from the
"European Computer-Industry Research Centre"
(ECRC), in Germany.
It
is possible to somewhat
interface Tcl with Java.
Tcl can call Java methods and Java can evaluate Tcl scripts.
A
portable interface for
Tk (PortTk) has been developed by Filip Karlemo
(fkarlemo@snakemail.hut.fi), Ari Kiviluoma (akiviluo@snakemail.hut.fi) and
Kimmo Joki-Korpela (kjk@snakemail.hut.fi) as a project course at Helsinki
University of Technology. (There is an
alternate path to this
information)
Schemepkg
is a Tcl/Tk package that provides an interface to a
scheme interpreter from within Tcl scripts. Unlike Stk, Schemepkg is
not a scheme interpreter for Tk; it is merely a set of Tcl commands that
can be used to evaluate scheme code from within Tcl scripts. It is based
on Brent Benson's
Libscheme,
which is a C library implementing a Scheme interpreter. Libscheme is required
in order to use Schemepkg. Schemepkg is available in
ftp://ftp.cs.indiana.edu/pub/kfisler/Schemepkg0.1.tar.gz or
ftp://ftp.cs.indiana.edu/pub/kfisler/Schemepkg0.1.tar.Z.
Official releases are available for most platforms. We are listing here alternative ports:
Tcl 7.3, TclX7.3a,
Tk3.6 for MSDOS & Desqview/X can be found at
ftp://harbor.ecn.purdue.edu/pub/tcl/distrib/, in files mstcl73s.zip (sources)
and mstcl73e.zip (executables). They are mirrored at
ftp://ftp.germany.eu.net/pub/programming/languages/tcl/mirror.core/alcatel/distrib/.
tmk is a Tcl based make utility that
supports cross-platform developement.
moodss is a modular
and customizable spreadsheet.
Visual Tcl
application development environment for UNIX, Windows and Macintosh platforms.
It provides a GUI interface for most aspects of Tcl/Tk development and includes
compound widgets and user-defined compound widget libraries. It can also
be used to create Tclets for the Tcl Netscape plug-in.
The Visual Tcl Project
is yet another application development environment for UNIX, Windows and
Macintosh platforms, written by Doug Bebber.
GroupKit
is a groupware toolkit used for developing real-time conferencing applications.
These are groupware applications such as drawing tools, editors and meeting
tools that are shared simultaneously among several users. The distribution
includes not only the core toolkit but over 30 example groupware tools.
TkDesk is
graphical desktop and file manager for UNIX/Linux and the X Window System.
The Tcl/Tk plugin
for Netscape Navigator/Communicator and MS Internet Explorer allows Tcl/Tk
applications (tclets) to be securely executed from within Web pages.
Note: Current release is 2.0. The document
Tk 4.2
SafeTk Modifications is now somewhat obsolete and the Tcl Developer
Xchange has more recent
info on
Safe-Tcl. Example tclets can be found at:
There is a
Tcl Web Server
written in plain Tcl. Beside basic http server features, it includes many
customization possibilities.
EXMH is a Tcl-based graphical interface
to the MH email user agent.
TDebug
1.0: A Tcl/Tk debugger that doesn't require an extended interpreter.
Tar
file at ftp.neosoft.com - mirror copies in
Switzerland,
Germany
and
Finland.
tkinspect
5.1.6: a browser for Tk programs (a GUI to Tcl's info and Tk's pack and
bind commands).
Tar
file at ftp.neosoft.com - mirror copies in
Switzerland,
Germany
and
Finland.
VisualGIPSY is a
free GUI builder for Tcl/Tk 8.0.
XF
is a rather powerful GUI builder written by Sven Delmas
<garfield@cs.tu-berlin.de> Technical University Berlin, Germany. I
personally don't find XF very intuitive to use, but trained users find it
extremely useful. XF can be found at the following places:
Sean Halliday <halliday@ea.com> wrote a GUI builder (named GuiBuilder)
that is quite easy to use. The latest release is
v1.0 and works with Tcl7.4 and
Tk4.0 (the help file
help_src.tcl was missing from the 1.0 release until now). Former releases
working with Tcl7.3 and Tk3.6
(v0.95 and
v0.94) are still available.
Stephen
Uhler, from Sun Microsystems Laboratories, has released
SpecTcl,
a graphical user interface builder for Tk. It can also generate Java and
Perl code.
Richard Hipp
<drh@acm.org> has put in the public domain a tool named
"Mktclapp", a utility
that helps you mix C/C++ with Tcl/Tk to make a standalone executable.
Liem Bahneman
<roland@ssc.com> has moved
tkHTML,
a tcl/tk-based HTML document editor for X11. It has almost all the standard
editing features of a word processor, as well as special functions for editing
HTML documents. The current version (3.11) of TkHTML uses Netscape or Mosaic
for previewing.
Code to parse and manage
html can be found at
ftp://ftp.scriptics.com/pub/tcl/misc/html_library-0.3.tar.gz
Jay Sekora has a freely-redistributable
set of tools (text editor, directory browser, hypertext help-file viewer,
etc. ) named jstools,
archived on
ftp://ftp.neosoft.com/pub/tcl/alcatel/code/
COMPASS (Computer Aided Search System)
is a tool based on Tcl/Tk, C++ and TclPro for content-based image retrieval.
This VHDL
Editor has VHDL syntax highlight and various other interesting features such
as a hierarchy tree
Plume (formerly called SurfIt!)
is a Web browser that can securely execute Tcl/Tk applets. Current release
is 0.6.2 alpha. Pre-release 1.0a1
is also available (based on Tcl/Tk 8.0). The author is
Steve Ball, who is now at
Zveno.
Don Libes has a nice library
named cgi.tcl that makes it
easy for Tcl programs to generate HTML, including forms, tables, cookies,
file upload, plug-ins, JavaScript, and Netscape extensions.
The
Tcl/Tk Plugin for
Netscape and Internet Explorer lets you create Web pages that contain safe
Tcl/Tk applets. The plugin is available for Solaris 2.x, Windows NT, Windows
95 and MacOS.
TclStream
is a prototype implementation of a Tcl-based command stream in the
Berkeley Continuous
Media Toolkit (available as a Netscape plug-in).
(broken link)
Netscape-Remote
is a dynamically-loadable Tcl/Tk extension that can be used to communicate
with the Netscape Navigator browser on Unix systems.
NeoWebScript is a
server-side scripting environment based on Safe Tcl. It is available as a
module for the popular Apache webserver,
and adds server-side in-html-file programming.
ccitcl is a
system based on Mosaic's
Common
Client Interface (CCI) to allow a Tcl/Tk application to be tightly coupled
with the Mosaic Web browser. It is apparently still based on Tcl 7.3 and
Tk 3.6.
Tcl8.0/Tk8.0 MAN pages (@ elf.org)
CUI's local copy of HTML-ized MAN pages (8.0) (compressed version, uncompressed version) Please, use the compressed version to save network bandwidth if your WWW viewer supports automatic decompression
CUI's local copy of HTML-ized MAN pages (7.6&4.2) (compressed version, uncompressed version)
CUI's local copy of old Tcl7.4 / Tk4.0 MAN pages (compressed version, uncompressed version)
CUI's local copy of old Tcl7.3 / Tk3.6 MAN pages (compressed version, uncompressed version)
Tk Widgets Very Quick Reference, by Eric Foster-Johnson
I have a copy of a quick reference guide for Tcl 7.4 / Tk 4.0 in Postscript: gzip-compressed version (46 Kbytes), uncompressed version (151 Kbytes).
Eric Foster-Johnson's Grid Layout Mini-Tutorial.
Clif Flynts' tutorial TclTutor
Paul Raines' Tcl 7.5 / Tk 4.1 Reference Guide in Postscript (44 pages): gzip-compressed version (183 Kbytes), uncompressed version (55 Kbytes). See ftp://ftp.slac.stanford.edu/software/TkMail/tkref-4.1.0.tar.gz for the original set of files.
Clearinghouse approved