::.
To, co powoduje, że jednocześnie w Tcl-u programy przypominają kod C, jest sposób na tworzenie czegoś podobnego do bloków kodu (czy, podobnie, serii danych). Tekst co do znaku (włącznie z końcami linii) pomiędzy a , jeśli jest podany jako argument komendy, jest przekazywany bez żadnych zmian. Komenda może ewentualnie podać kod następnie do komendy eval, aby go wykonać, albo być może zrobić z nim zupełnie co innego. Dlatego właśnie, choć w Tcl-u nie ma odpowiednika pętli do-while, programista może zrobić ją samemu.
W Tcl-u istnieją dwa osobne systemy nazw: osobny dla komend, osobny dla zmiennych. Komendy mają nazwy zawsze dostępne globalnie (nowe komendy mogą być dodawane przez wykonujący się skrypt, również wewnątrz definicji komendy).
Symbole używane w składni Tcl-a mają następujące znaczenie:
$<zmienna> – oznacza wartość zmiennej. Nazwa zmiennej jest czytana do najbliższego znaku, który nie jest literą, cyfrą lub podkreśleniem (nazwa może zawierać też inne znaki, ale wtedy nazwę trzeba ująć w {}). [ ] – wykonuje komendę zawartą między nawiasami; rezultatem wyrażenia jest wartość zwrócona przez komendę { } – surowy tekst;