namespace eval, a subcommand of namespace, evaluates a script in a given namespace.
args are concatenated together with a space between each one in the same fashion as eval, and the result is evaluated in the namespace called namespace. If the namespace does not already exist, it is created. If more than
If namespace has leading namespace qualifiers and any leading namespaces do not exist, they are automatically created.
For better performance, namespace eval ... is usually byte-compiled when it is given one argument which is a literal string:
proc main { namespace eval [info cmdcount] { set msg {this script is eligible to be byte-compiled} return $msg } }