Version 0 of Hypertools

Updated 2001-02-13 17:49:16

Purpose: discuss the idea of Tcl/Tk Hypertools.


From the time I first read John's Usenix paper on Tk "(see ftp://ftp.scriptics.com/pub/tcl/doc/tkUsenix91.ps ), I have been fascinated by the idea of Tk applications talking to one another. It seems to me that, with the proper simple infrastructure, graphical applications could be written in a web of interaction, similar to how I tend to write small useful command line filters that manipulate data.

One person who did some early work on this idea was David Svoboda who created the Teaching Hypertools series of tools. This series of tools is intended to be used to add new features to existing running Tk tools. An extended editor, designed to cooperate with the teacher hypertools, is called Elsbeth. These tools should still be available on the http://www.neosoft.com/tcl/ archive site .

John and Brent wrote an article for Unix Review I believe discussing the idea further.

The basic idea is to write applications in such a way that they can be sent information to change their configurations dynamically.

So, what are some of the tools and techniques that can be used to build hypertools?

  • send is a Tk built in that works under X, allowing one to relatively easily send tcl code from one Tk interpreter to another.
  • comm is an extension (which should be more generally available!) which implements a send like command but without the dependence on X
  • sockets are pretty easy to use in Tcl and can be used for communication, though it takes a bit of work to implement some sort of general infrastructure