Home Complexity Research Tcl/Tk Local interest Alphatk Mac Cpptcl
Thesis Canyons Downloads Bibliographies MacBibTeX Pltk Search

Tcl-Tk

Tcl stands for 'Tool Command Language' and is used as a scripting and extension language by a wide variety of programs. Tk is a graphics toolkit built upon Tcl. Both Tcl and Tk now run cross-platform on Unix, MacOS and Windows platforms, with the ultimate goal of having Tk scripts run unmodified with native look and feel on all three platforms. Tcl is also able to interact very effectively with Java (as well as gluing simply to many, many other languages and toolkits).

There is also a rather old netscape plug-in which implements a complete Tcl-Tk interpreter, so you can run any secure Tcl-Tk applet embedded in a web-page.

I've developed a number of applications, extensions and patches to Tcl/Tk. Besides using Tcl, Tk for many work-related projects (usually as a gui wrapped around a complex Java simulation core), I've written the editor Alphatk as a replica of the long-standing MacOS favourite 'Alpha'. It's a full-featured text editor similar to emacs in many respects. In writing the core of Alphatk, I've come across a variety of bugs and shortcomings in Tcl/Tk, for which I've often submitted patches to the Tcl core. For example the new 'glob' command in Tcl 8.3 was implemented by me, largely to solve problems in the common usage of glob as 'glob $dirname/*' which will fail unexpectedly when 'dirname' contains glob-sensitive characters, and won't work on MacOS (in Tcl 8.3 you can now use 'glob -dir $dirname *' instead, which will always work).

More recently I've submitted changes to 'trace' which are in Tcl 8.4, and are useful both for handling megawidgets and for debugging Tcl code.

I've also used 'TEA', the Tcl Extension Architecture, a lot recently, and have put together a Wiki page which covers a lot of the vagaries of TEA. Quick summary: ok idea, implementation needs a _lot_ of work, but you might consider using it if you want a cross-platform make system. Also look for 'CriTcl', 'bras' and other such Tcl build tools.

Some other of my Tcl related projects are listed towards the bottom of this page, but first here are some other Tcl links.

You can download a few Tcl bits and pieces of my own from my download page or some of the pages below.

Some Tcl and Tk packages and extensions:

Mail me:vince@santafe.edu , or go to back to the top, or return to the main menu.