Updated 2014-06-11 18:11:03 by AMG

word is one of the basic syntactical units in Tcl. A word is a string of characters, and a command is a list of words.

AMG: The difference between speaking of a command as a list of words versus a list of arguments is whether or not the name of the command is intended to be included in the list, with words including the name. Also note that the name of the command may comprise multiple words, as in a command ensemble.

PYK 2014-04-18: Strictly speaking, that last point, while semantically correct, isn't syntactically accurate. According to the dodekalogue, the name of the ensemble is the name of the command, and the name of the ensemble sub-command is simply the first argument. About the first point, "arguments" is not a formal term in the syntax, but just a common term used to describe the remaining words in a command after the command name. A list, for example, is also a sequence of words, but contains neither a command name nor "arguments". AMG, if you decide to word-smith this, feel free to delete my comments if they no-longer apply.

AMG: A command prefix is an example of a list of words because it must, by definition, include part or all of the name of the command, in addition to including zero or more of the arguments to the command.

PYK 2014-04-18: I can't think of any time that a command prefix only includes part of the name of a command. An example would be handy. Empty string doesn't count!

AMG: You answered your own question but didn't realize it. [string] is a command prefix that only includes part of the name of a command.

Your commentary on the dodekalogue is technically correct: [string] and other ensemble names are the names of commands. But that's only true in the eyes of the interpreter. We're talking about user experience here, and no one sees bare [string] as a command name since all it ever does is return errors.