[Date Index] [Thread Index] [Author Index]
Re: What does FullForm[ ] actually do?
In article <g5pivs$qb1$1 at smc.vnet.net>, magma <maderri2 at gmail.com> wrote: > > AES you certainly have a lot of time to split hair and write about > it :-) Good for you. > Point taken, and well put (though I'm not sure whether the final three words are to be taken seriously, or sarcastically). I've been making serious resolutions in fact, to spend more of time splitting wood rather than hair, or at least doing something else involving physical rather than mental exercise. (My wife strongly agrees.) But two final points on this topic: 1) Consider Options in addition to FullForm. To my way of thinking, FullForm and Options are both _queries_ -- you use them to get information, in preparation for (maybe) doing something, but not to accomplish something. You invoke them to ask, what "What will some expr do?", not to say "Do this and tell me what you did". This seems even more obvious for Options than for FullForm -- yet Options evaluates also. And this seems even more relevant when the evaluation of said expr can readily have other totally unrelated effects and impacts that don't show up at all in the output of FullForm or Option, and have nothing to do with that output. Try some tests, for example, with expr's of the form expr1;expr2;expr3 -- 1 and 2 seem to get evaluated along with 3, but you only get information about 3. When I ask my banker, WhatsTheMeaningOf["Balance available for immediate withdrawal"], that does NOT mean "Withdraw that balance and tell me what it is". 2) Couldn't there be an alternative and more reasonable choice for the operation of FullForm[expr] besides just evaluate expr or don't -- like,"Show me what the full form result would be _IF_ this expr were evaluated" -- but don't, for God's sake, evaluate it -- I'll do that when I'm ready to.