Полиморфизм относится к одному объекту, который можно рассматривать как и использовать как объект другого типа. В вашем примере у вас есть переменная и proc с тем же именем, но они не обрабатываются и не могут рассматриваться как друг друга (переменная не может быть вызвана как proc, а proc не может рассматриваться как переменная).
Вы также можете утверждать, что в TCL невозможен полиморфизм. Поскольку TCL рассматривает все как строку (это язык без типов), «другого» типа данных не существует. Таким образом, вы не можете обрабатывать объект типа A, как если бы он был типа B, потому что не существует типа B.
Вы можете создать своего рода псевдополиморфизм для проков, определяя проки с одинаковыми именами в разных пространствах имен. Однако это не столько полиморфизм, сколько перегрузка операторов.
Вы можете прочитать эту статью о полиморфизме на Вики TCLers .