Bene, nella mia nomenclatura - che non è universale, ma di chi è? - TCL non è un linguaggio tipizzato dinamicamente, è un tipo non tipizzato come i linguaggi assembly, BCPL, BLISS.
I linguaggi tipizzati staticamente sono tipi dedotti da un'analisi statica.
Le lingue digitate dinamicamente hanno un tipo associato ai valori.
Untyped ha un solo tipo di valori (parole per BCPL e BLISS, stringhe per TCL) e il tipo viene dedotto dall'operazione che viene applicata più o meno ciecamente sui valori.
La conversione automatica può offuscare la differenza tra le lingue digitate dinamicamente e quelle non tipizzate. L'evoluzione può anche conferire a un linguaggio non tipizzato un certo tipo di gusto dinamico (che è forse il caso di TCL - non l'ho usato troppo a lungo -, è anche il caso di alcune shell che hanno iniziato come non tipizzate e quindi hanno acquisito valori che sono di tipo diverso - ad esempio matrici) che rendono il loro comportamento incoerente e difficile da spiegare.
La tipizzazione di anatra è un altro asse. È un modo per verificare la conformità del tipo. È una variante della tipizzazione strutturale in cui vengono verificate solo le caratteristiche utilizzate. Può essere usato in linguaggi tipizzati staticamente (i template in C ++ sono anatra); nelle lingue dinamiche il controllo può essere ritardato per usare il tempo.