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.
A somewhat related tool would be Arrays as cached functions
Also see Radical Language Modification