Additionally, the Emacs Lisp interpreter uses two modes when it reads your code: a Code mode and a Data mode. When you're in Data mode, you can put anything you want into your lists. However, the interpreter first starts off reading your code in Code mode - in Code mode, your lists need to be a special type of list called a form:
A form, with the foo command highlighted
A form is a list where the first symbol in the list has to be a special word that the interpreter can understand - usually the name of a function. In this case, the interpreter will send the other items of the list to the function as parameters. When it reads the text for these parameters, it will usually assume that they are also in Code mode, unless you tell it to flip into Data mode.
<< begin < previous - next > end >>