Go to the previous, next section.

Using  set

To set the value of the symbol  flowers to the list  '(rose violet daisy buttercup) , evaluate the following expression by positioning the cursor after the expression and typing C-x C-e.

(set 'flowers '(rose violet daisy buttercup))

The list  (rose violet daisy buttercup) will appear in the echo area. This is what is returned by the  set function. As a side effect, the symbol  flowers is bound to the list ; that is, the symbol  flowers , which can be viewed as a variable, is given the list as its value. (This process, by the way, illustrates how a side effect to the Lisp interpreter, setting the value, can be the primary effect that we humans are interested in. This is because every Lisp function must return a value if it does not get an error, but it will only have a side effect if it is designed to have one.)

After evaluating the  set expression, you can evaluate the symbol  flowers and it will return the value you just set. Here is the symbol. Place your cursor after it and type C-x C-e.

flowers

When you evaluate  flowers , the list  (rose violet daisy buttercup) appears in the echo area.

Incidentally, if you evaluate  'flowers , the variable with a quote in front of it, what you will see in the echo area is the symbol itself,  flowers . Here is the quoted symbol, so you can try this:

'flowers

Note also, that when you use  set , you need to quote both arguments to  set , unless you want them evaluated. In this case, we do not want either argument evaluated, neither the variable  flowers nor the list  (rose violet daisy buttercup) , so both are quoted. (When you use  set without quoting its first argument, the first argument is evaluated before anything else is done. If you did this and  flowers did not have a value already, you would get an error message that the `Symbol's value as variable is void'; on the other hand, if  flowers did return a value after it was evaluated, the  set would attempt to set the value that was returned. There are situations where this is the right thing for the function to do; but such situations are rare.)

Go to the previous, next section.