Plot has HoldAll, Why?
- To: mathgroup at smc.vnet.net
- Subject: [mg5993] Plot has HoldAll, Why?
- From: Ersek_Ted%PAX1A at mr.nawcad.navy.mil
- Date: Sat, 8 Feb 1997 22:38:14 -0500
- Sender: owner-wri-mathgroup at wolfram.com
Consider the following commands to plot two polynomials:
f=ChebyshevT[37,x];
g=ChebyshevT[38,x];
Plot[f, {x, -1,1}, DisplayFunction->Identity] //Timing
Plot[Evaluate[g], {x,-1,1}, DisplayFunction->Identity] //Timing
The second case works ten times faster.
I understand it's because Mma does't know Compiled functions can be
used unles Evaluate is called.
Plot has the Attribute "HoldAll".
I wouldn't need to use Evaluate if instead Plot had Attribute "HoldRest",
or if it didn't hold any arguments.
I know I can Unprotect Plot, and change the Attributes myself.
Does anyone know why it would be desireable to hold all arguuments of Plot?
Puzzled in MD
Ted Ersek