A **routine** is a modular unit of a program. There is a routine associated with each available procedure. To evaluate a command, Tcl uses the first word of the command to find the procedure and execute the associated routine. Many built-in commands are implemented as C functions. In the case of a procedure defined by proc, the primary function of the routine is to evaluate the body of the procedure.

## See Also

- lambda
- About implementing at script level a routine that isn't a procedure.