Re: The side-effects of mixing TraditionalForm inside expressions.

*To*: mathgroup at smc.vnet.net*Subject*: [mg110823] Re: The side-effects of mixing TraditionalForm inside expressions.*From*: Albert Retey <awnl at gmx-topmail.de>*Date*: Thu, 8 Jul 2010 03:12:30 -0400 (EDT)*References*: <201007051002.GAA15102@smc.vnet.net> <i0urh5$6l9$1@smc.vnet.net> <i11p4i$p0u$1@smc.vnet.net>

Hi, > >> 1 + Unevaluated[1] >> >> 2 > > Fascinating. I'd call this one more classic Mathematica gotcha, and one > more example of fairly poor quality of Mathematica documentation -- or > at least of the very arcane character of Mathematica for "ordinary > users", once you get to any depth within it. > > Help Browser says: > > Unevaluated[expr] > represents the unevaluated form of expr when it appears as > the argument to a function. > > So, what does Unevaluated[expr] do when it is NOT the argument to a > function? > > (The previous statement I'd say clearly implies that there are times > when Unevaluated[expr] does appear as an arg to function, and therefore > times when it does not -- and both need to be defined.) > > So, if Unevaluated[expr] is entered all by itself in a cell, is it then > "the argument to a function"? it is about the only case that you can have where it is not an argument to a function... > If the cell contains 1 + Unevaluated[expr] as above, does that make the > Unevaluated[expr] an argument to a function -- or not? (I can see > arguing that above queries either way -- and digging further down into > the Help Browser examples is not very helpful.) Of course it is, 1+Unevaluated[expr]===Plus[1,Unevaluated[expr]] and I doubt that anyone familiar with Mathematica would argue another way... > How would one find out from Mathematica documentation what "argument to > a function" means, precisely? Is there any significance to "argument > to" rather than the (I think) more common usage "argument of"? > > Is Unevaluated[expr] used in a syntactically acceptable way _always_ the > argument to a function? Well, if you really want to understand Mathematica at the level you want the Mathematica documentation to be precise, you should at least have learnt and the following: 1) Mathematica rewrites expressions according to pattern matching rules. 2) for Mathematica everything is an expression. 3) Mathematica thinks in FullForm 4) An expression is a head with any numbers of arguments. actually that could be argued to be almost all you have to know about Mathematica, and I have the feeling that I can get my things done with these rules in mind (and I am not particularly good in keeping many thing in mind). That does not mean I don't think the documentation could be improved (from my experience every documentation of every language/system always could and should be substantially improved and it never will happen :-) or that I think Mathematica is perfect as it is in every detail. It is just my impression that your repetitive complaints about the documentation and various Mathematica "gotchas" are mostly a sign of your unwillingness or inability to accept and learn Mathematica as it is. If you want to use Mathematica as a tool to get your things done, it would be smart to not work and think against it. If you are interested in ideological arguments about how Mathematica actually should do things, you can join RJF and keep complaining. But be warned: To my impression Stephen Wolfram isn't exactly the person that you would convince to change his system by sending posts to this group, so your efforts could well be called fruitless... hth, albert

**References**:**The side-effects of mixing TraditionalForm inside expressions.***From:*"Nasser M. Abbasi" <nma@12000.org>