• Procedural
    • C-ish with caveats
      • Whitespace matters - especially carriage returns
      • Tcl treats script as a series of words
        • The puts command is made up of either 2 or 3 words
          puts stream data
          puts data  
          the command name The output stream to use The stuff to print
          Note that the command
          puts stdout Print me please
          
          is wrong. Tcl would execute puts stdout Print and then try and execute the procedure me. Probably what was wanted is:
          puts stdout "Print me please"
          
      • All the worlds a string
        • Internally everything is a string
        • puts stdout [expr "3.4+4.5"] prints 7.9
          Special characters
          # Introduces a comment to the end of the line
          $ Variable dereferencing
          [...] Evaluate and replace
          \ Standard C \ type stuff
          "..." Disables word and command separators
          {...} Disables nearly all special characters