Tcl

**Tcl** (pronounced "tickle" or *tee cee ell* ) or **Tool Command Language** is a High-level programming language which can be used for many things. Tcl was made to be easy to use, but able to do many things. Tcl's language is based on commands which tell the computer what to do or how to save a variable. Tcl is able to do object-oriented, imperative, functional, or procedural styles.

Tcl is used a lot to in C to create prototypes quickly. There are interpreters available for many operating systems. This means many different kinds of computers are able to run Tcl code. Tcl is a very small language which means it is good to use as embedded systems.

Tcl is sometimes combined with Tk. When it is, it is called **Tcl/Tk**. Tcl/Tk is a part of the normal Python installation.

## History 
Tcl was created by John Ousterhout at University of California, Berkeley. Ousterhout won a ACM Software System Award in 1997 for making Tcl/Tk.

Safe-Tcl is a form of Tcl that has certain parts turned off so it can't hurt the computer which is running it. Nathaniel Borenstein and Marshall Rose created Safe-Tcl. Safe-Tcl can only work on some files including email messages.

## Examples 
In Tcl programming, empty whitespace separates words. Commands are ended by going to a new line or a semicolon:

 word0 word1 word2 ... wordN

The first word is always a command which comes from Tcl's library:

 commandName arg1 arg2 ... argN

For example, the commmand *puts* makes the computer display something:

```tcl
puts "Hello, World!"
```

In that example, "Hello, World!" is called a string. Tcl adds a special character which can't be seen at the end of a line. This character tells the computer to go a new line after the command is complete.

Tcl is able to do math and many other things using variables. In order to use a variable, the programmer must set their value:

```tcl
set variableA 1
set variableB 2
```

After a variable is set, it can be used in other parts of the program or set to something different. Variables can be used to perform math:

```tcl
set x 2
set y 4
set ans [expr $x+$y]
puts "The answer is $ans." # The computer would show: "The answer is 6."
```

The command *expr* tells the computer to solve the "expression" or, in this case, an equation.

## Easy commands 
*`set` saves numbers, words, or letters, to a variable. It can also be used to change what is in a variable.
*`proc` tells the computer what a new command will do (procedure).
*`if` tells the computer to do what is written only if something is true.
*`while` tells the computer to do what is written as long as something is true.
*`foreach` tells the computer to something for each item in a list of variables.
*`break` stops the command from running. This is good to use to get out of a loop.
*`continue` stops the active command, but allows the loop to continue. If the loop is a `while` loop, it will start over. It will let `foreach` and `for` go to the next step in the program.
*`return` stops the active command and loop, then goes back to the procedure with a value.

## Related pages 
*Eggdrop
*TclX
*List of programming languages

## References 
## Other websites 
*
*Tcler's Wiki
*Tcl and Tk source downloads
*TkDocs