delayed evaluation



 
I have an expression that has some common long expressions.  I would like to represent this as a function which depends upon other functions (like substituting functions for long expressions).   Consider 

gg:lambda([x],x^3);

ff:lambda([x],gg(x));

ff1:lambda([x],'gg(x));


What I want is function ff1.   But how does one evaluate ff1 so that gg(x) is subsitituted when desired?

  ff1(x);
 (%o6) gg(x)
(%i7) ev(%);
(%o7) gg(x)                       // I would like this to be x^3


Thanks for your help


Ram Kochhar