Icon [http://www.cs.arizona.edu/icon/index.htm] is a programming language with a long and rich history, although it is even more obscure than tcl. There are several points of similarity between the two languages, along with many more differences. * Interpreted with a byte-code compiler * Built-in memory allocation and garbage collection * Portable graphical tool kit * High degree of introspection * Rich built-in data structures (character sets, lists, sets, strings, tables) * Invocation of procedures based on a dynamic string value * Two memory scopes, global and local * Strongly typed values, but untyped variables * Primitives for determining if a variable has a value * No "go to" statement The data structures are implemented in a way that allows a substantial amount of polymophism. The syntax for interating through all the values in a set, or all the elements in a list, or even all the characters in a string is pretty much the same. Some of the differences are equally significant. * The syntax looks more like C than tcl * Many, many operators * Procedures can have static data that retains value between invocations * No dynamic creation of procedures * Pattern matching is a normal extension of expression evaluation * Backtracking built into the language * Characters set limited to 8-bit characters ''[escargo] 10/28/2002'' ---- [Category Language]