Unevaluated Expression
- To: mathgroup at smc.vnet.net
- Subject: [mg26962] Unevaluated Expression
- From: "Hermann Meier" <hmeier at webshuttle.ch>
- Date: Tue, 30 Jan 2001 03:38:15 -0500 (EST)
- Organization: EUnet AG, Switzerland. A KPNQwest Company.
- Sender: owner-wri-mathgroup at wolfram.com
Dear Mathematica users, a = 10; Unprotect[ToString]; SetAttributes[ToString, HoldAll] ToString[a]//FullForm gives (as desired) "a", not 10 Then I wanted to prevent the argument in f[x_] := x^2 from getting evaluated. Attributes[f] = {HoldAll} f[x_] := x^2 f[Unevaluated[a]] gives 100. The longwinded code ToExpression[ToString[f[a]], InputForm, Hold] /. Hold[f[nr_]] -> nr or First[Level[Composition[Hold][f[#]],{-1}]]& /@ {a,10} at least manages to give 10 instead of 100. Is there really no way to prevent the argument in f[x] from firing ? (I use Mathematica 4.1 for Windows). With best regards Hermann Meier