Tcl is a very dynamic language. The [proc] command can be used to create wonderful treats that allow new programming styles. This page serves as a collection of those treats. * [Implicit upvar] * [ObjectProc] implements a type checking table-oriented proc * [Pass by reference] similar to Implicit upvar * [Guarded proc] warns if a procedure is redefined * [Let unknown know] overloads [unknown] by extending the body in place * [Procs as objects] creates pseudo-closures * [Procs as data structures] "underloads" procs - they can't be called, but still have some use * [overproc] - overload procs by nunber of args * [extending the notation of proc args] - easy -switch handling A somewhat related tool would be [Arrays as cached functions] Also see [Radical Language Modification] <> Concept | Design