Re: HoldForm in defined function doesn't seem to work
- To: mathgroup at smc.vnet.net
 - Subject: [mg99234] Re: [mg99182] HoldForm in defined function doesn't seem to work
 - From: "David Park" <djmpark at comcast.net>
 - Date: Thu, 30 Apr 2009 06:24:50 -0400 (EDT)
 - References: <16001744.1241002826085.JavaMail.root@n11>
 
Try:
Attributes[f]={HoldAll};
f[x_]:=HoldForm[x]
f[123 456 789]
123 456 789
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/  
From: joel.aufgang at gmail.com [mailto:joel.aufgang at gmail.com] 
I'm struggling to understand why this doesn't work:
f[x_] = HoldForm[x];
HoldForm[123 456 789] (* returns "123 x 456 x 789" *)
f[123 456 789] (* returns"44253432" *)
I don't understand why the two results are different.   Is there a
special trick I need to do to be able to define f so that the HoldForm
works?
I'm using this to help visualize the way a notebook represents typed
expressions, so I'm trying to do something like this:
BoxTree[expr_] := TreeForm[ToBoxes[HoldForm[expr]][[1]]];
a b c d e // BoxTree
123 456 789 // BoxTree (* want this to show as a RowBox like the
previous example *)
Any help would be greatly appreciated.  Thanks.