Quotes, Names, and Values There are three types of quotes used in Maple: double-quotes ("); backquotes (`); and apostrophes ('). Multiple double-quotes are used to refer to the results of previous statements, for example: > z1 := z2 + z3; z1 := z2 + z3; > a1 := a2 * a3; a1 := a2 * a3; > " + ""; a2 a3 + z2 + z3 Backquotes (left-quotes) are used to construct strings, as in: > a := `This is a string`; a := This is a string > a; This is a string In the previous section, a mathematical variable was also described as an unassigned variable. Unassigned variables have their own name as their value. This is the default condition for a variable until you assign it a value. To turn an assigned variable (i.e., a programming variable) back into an unassigned variable (i.e., a mathematical variable), you must assign it its own name. As an example: > # r hasn't been used, so its an unassigned variable: > r; r > # Now make r an assigned variable: > r := 2; r := 2 > r; 2 > # Now try to give r its own name: > r := r; r := 2 > # That didn't work, because the r on the right side of the assignment > # statement was evaluated prior to the assignment. Assign the name > # of the variable by delaying evaluation: > r := 'r'; r := r > r; r > # r is now a mathematical variable once more. This shows the function of the apostrophe (right-quote). It delays evaluation of an expression. Maple generally performs what is called "full evaluation". You have seen an example of this already. Here it is again: > z := 2+y; z := 2 + y > y := 5; y := 5 > z; 7 Once "y" had been assigned a value, you didn't have to do anything to tell Maple that "z" could be completely evaluated to a number instead of an algebraic expression. Every time Maple evaluates a statement, it checks to see if it knows any other expressions that could be re-evaluated in light of the new information. An exception to automatic full evaluation is in procedures, which is discussed later.