How to eval a "quoted" expression?



Hi,

I'm trying to conpare MAXIMA with LISP.

It seems a single quote stands for QUOTE and double single
quote stands for EVAL. But I found the following session
can't be explained by this rule:

/* First I define a function and a variable: */

f(x):=x^2+1;
a:10;

/* Use funmake to construct an expression to call f(a): */

eq1:funmake(f,[a]);
''eq1;

/* I got 101. That's right. But the following doesn't work. */

eq2:'f(a);
''eq2;

I still get f(10)!

It seems eq1 and eq2 are not the same.
What's the difference? 
How can I make eq2 be evaluated to 101?

Thanks.


-- 
Wang Yin
Deparment of Computer Science and Technology,
Tsinghua University,
100084
Beijing China