Task

Explain or demonstrate the levels of visibility of function names and labels within the language.



See also

 Variables for levels of scope relating to visibility of program variables
 Scope modifiers for general scope modification facilities


doFoo 1 2 3;    # Will produce an error
 
proc doFoo {a b c} {
    puts [expr {$a + $b*$c}]
}
doFoo 1 2 3;    # Will now print 7 (and will continue to do so until doFoo is renamed or deleted