glue

Glue [1 ] is the name of a Tcl Library that contains a variety of things, including:

  • poortext(n), a widget for displaying poortext(5), the Notebook App markup language.
  • smartinterp(n), a safe Tcl interpreter that yields better error messages for aliased commands than a standard interp.
  • manpage(1), a tool for writing collections of HTML man pages with automatic links.

Contact mailto:[email protected] (William Duquette)


The term glue refers to the fact that scripting languages, like Tcl, were originally designed as a means of "glueing" together applications by means of easy and flexible control constructs to handle interprocess communication (IPC) and system resources.

For example, in the traditional scripting language ksh, one might write:

#! /bin/ksh
wc -l "[email protected]" | sort -n | tail 

which means count the number of lines in all of the files provided, sort the number of lines in increasing numeric order, and then display only the last 10 lines

or, effectively

display the top 10 files with regard to the number of lines

This concept of taking smaller filter applications and then providing the means to easily glue them together to create more complex applications is one of the hallmarks of early Unix - before free software became the battle cry of the community.

Tcl has several means of exhibiting its glue capability

[contribution of additional methods are welcome]

Isn't the reputation that "glue" is one of Tcl's strengths more connected with its ability to interface with libraries and applications written in C and other languages, i.e., the whole Embedding vs. Extending thing?