Tcl is a scripting language for driving arbitrary unix tools, including Tk. It is normally implemented as an interpreter called wish. It uses Tk concepts and conven- tions for describing GUI's, but the SML language.
Interface is via an inter-process pipe.
Tcl is good for writing short programs, but doesn't scale very well. A GUI is described hierarchically. At the top level are one or more windows through which the user communicates with the underlying application. Each window contains one or more graphical objects called widgets. Each window and widget has a unique identifer string by which it can be referenced.