- To: mathgroup at smc.vnet.net
- Subject: [mg113898] HoldForm (???)
- From: kj <no.email at please.post>
- Date: Wed, 17 Nov 2010 05:30:54 -0500 (EST)
I came across this puzzling bit while inspecting a trace: In:= Quiet[InputForm[Trace[First][[2, 1]]]] Out//InputForm= HoldForm[Message[First::argx, HoldForm[First], HoldForm]] That HoldForm mystifies me. It looks completely unnecessary. What harm could come from evaluating 0 in this case? It can't possibly be slower than "evaluating" HoldForm. By the same token, HoldForm[First] looks almost as unnecessary. (I suppose that there could be some bizarre situation in which First won't evaluate to First, but I have a hard time imagining it.) kj PS: FWIW, First::argx gets interpreted as General::argx, which evaluates to "`1` called with `2` arguments; 1 argument is expected."