Extensible Data Types
Parser assigns no meaning to arguments (quoting by default, evaluation is special):
C: x = 4; y = x+10
y is 14
Tcl: set x 4; set y x+10
y is "x+10"
Different commands assign different meanings to their arguments:
set a 122
expr 24/3.2
eval "set a 122"
button .b -text Hello -fg red
string length Abracadabra