A routine is the implementation of a command. It is the thing Tcl uses the first word of a command to find and execute in order to evaluate that command, and also the entire execution of that thing. Thus it includes, for example, both the low-level dispatch mechanism for a command defined using proc, and also the evaluation of the body of the procedure.

In the case of built-in commands, the "dispatch mechanism" is usually merely a C function associated with a command name.