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 conventions 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. Sml-tk lets you use ML to write underlying applications and to describe GUI structure. 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 .