[[Discuss the definition of procedure here] [RS]: A procedure is a [script] with an argument list (in other words, a [lambda]) bound to a [command] name, by which it can be called. The arguments make the initial set of local variables, as well as others you might introduce. See [global] or [variable] or [upvar] on how to "import" variables from upper scopes. In [Tcl], procedures are defined with the [proc] command, for example: proc myproc {arg1 arg2} { # do something here, e.g. puts arg1:$arg1,arg2:$arg2 } Each procedure returns a result - if not explicitly by [return], then it's the result of the last command. So in Tcl, every procedure is also a function. ---- [Category Glossary]