But tcl 7.x and before was a pure string-based language. Everything was essentially a eval(). People would hit syntax errors on production code.
Fun, painful times.
The flip side: the interpreter is super simple and fun to write.
There are under-the-hood optimisations to make it less insanely slow but that only affects performance.
Tcl is a cool hack (the interpret is simple to write) but it's insane to actually use it. I wish the EDA industry would realise that.