Tcl Namespaces" ?> Tcl namespaces follow a hierarchy, and in terms of syntax, use '::' to seperate namespaces. Each namespace can have variables that are local to it.
namespace eval foo {
    set foovar 1
    namespace eval bar {
	set barvar 1
    }
}

puts $::foo::bar::barvar
puts $::foo::foovar