The official Tcl implementation doesn't throw any errors at compile
time because it doesn't have one (not even in the sense that Perl5
does). As a compiler, we are left with two options:
1) Throw compile time syntax errors anyway because they're
arguably the Right Thing To Do.
2) Fake it and output code that throws an error at runtime.
Option 2 is probably the correct one to take, but it can easily be
made later. So for now we'll just go with option 1 because it's
implemented.
Here's an example that shows the difference:
puts hi
puts [set a 4
That outputs "hi\n" with tclsh before dying with the syntax error.
Partcl just dies without outputting anything.
--
Matt Diephouse