<language> /tik*l/ (Tcl) An interpreted string processing language for issuing commands to interactive programs, developed by John Ousterhout at UCB. Each application program can extend tcl with its own set of commands.
Tcl is like a text-oriented Lisp, but lets you write algebraic expressions for simplicity and to avoid scaring people away. Though originally designed to be a "scripting language" rather than for serious programming, Tcl has been used successfully for programs with hundreds of thousands of lines.
It has a peculiar but simple syntax. It may be used as an embedded interpreter in application programs. It has exceptions and packages (called libraries), name-spaces for procedures and variables, and provide/require. It supports dynamic loading of object code. It is eight-bit clean. It has only three variable types: strings, lists and associative arrays but no structures.
See also expect (control interactive programs and pattern match on their output), Cygnus Tcl Tools, [incr Tcl] (adds classes and inheritence to Tcl), Scriptics (John Ousterhout's company that is the home of Tcl development and the TclPro tool suite), Tcl Consortium (a non-profit agency dedicated to promoting Tcl), tclhttpd (an embeddable Tcl-based web server), tclx (adds many commands to Tcl), tcl-debug.
["Tcl: An Embeddable Command Language", J. Ousterhout, Proc 1990 Winter USENIX Conf].