Re: What does FullForm[ ] actually do?
- To: mathgroup at smc.vnet.net
- Subject: [mg90520] Re: [mg90467] What does FullForm[ ] actually do?
- From: "W_Craig Carter" <ccarter at mit.edu>
- Date: Fri, 11 Jul 2008 02:06:19 -0400 (EDT)
- References: <200807101035.GAA15381@smc.vnet.net>
Hello AES,
I believe this example demonstrates what is going on: innermost
expressions are evaluated prior to the "FullForm"
FullForm[Hold[y = {a + b};]]
ReleaseHold[FullForm[Hold[y = {a + b};]]]
> 2) Then, just as an example, executing FullForm[y = {a+b}] gives (that
> is, Prints, or displays on screen) only the output List[a,b] -- the "y
> =" is gone.
>
> 2.1.1 Everything Is an Expression
>
> "...everything you type into M is treated as an expression."
>
> Isn't the "y = " part typed in as part of expr also? Doesn't it have to
> have some form of "internal form"?
I believe it is and does (Set in the above example)
> But what is it that's "null" here? The "{a+b}" or even the "{a+b};"
> part clearly isn't null, since it gets put into y in the first form.
> And isn't ";" (the semicolon) also an expression, and also part of the
> "{a+b};" expression? ("Everything in M is an expression.") Don't both
> ; and {a+b}; have to have an internal form?
Null is the result of the last expression in the CompoundExpression,
which was nothing.
>
> The bottom line seems to be that FullForm[{a+b}], when executed, in some
> cases does as claimed "show the internal form of that expression in
> explicit functional notation."
>
This is true if we interpret what is being digested by FullForm. Hold
causes indigestion.
> However, the FullForm[{a+b};] or FullForm[y={a+b};] examples seem to
> show that executing FullForm[expr] returns the result of executing that
> expr, not the expression itself . . . ?
Exactly.
>
>
--
W. Craig Carter
- References:
- What does FullForm[ ] actually do?
- From: AES <siegman@stanford.edu>
- What does FullForm[ ] actually do?