Tcl commands are evaluated if the command name is the first word, at the beginning of a line or when bracketed. [eval] evaluates its arguments in some special ways (concateneates to a string, if not a [pure list]). Here are some apocryph alternatives: Andreas Leitgeb pointed out on the comp.lang.tcl newsgroup (2002-08-07) that if 1 $cmdis clearly faster then eval $cmdSee [Many ways to eval] for the ensuing discussion. MS explained: "Well: eval does not bytecompile the script as it is "usually" used for one-time scripts ... For more fast-and-surprising ways to do it, try one of interp eval {} $x namespace eval :: $xas they both will compile the script."