Posted to tcl by pooryorick at Fri Jun 03 13:34:40 GMT 2016view pretty

namespace eval n1 {
	namespace ensemble create -map [list p1 [list ::apply [list {} {tailcall p2} [namespace current]]]]
	proc p2 {} {set name [uplevel 1 [list ::namespace origin [lindex [info level 0] 0]]]}
}
namespace eval n2 {puts [n1 p1]}