Mathematica Evaluation Process

• To: mathgroup at smc.vnet.net
• Subject: [mg39597] Mathematica Evaluation Process
• From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
• Date: Tue, 25 Feb 2003 02:57:10 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```For a long time I have wanted to include on my webstite an explanation of
all processing an expression goes through from input to output (ignoring the

Omega Consulting just put out a partial explanation at
http://omegaconsultinggroup.com/Services/ezv2i02.html

Many years ago David Withoff gave the explanation posted at
http://library.wolfram.com/database/Conferences/4683/

As far as I am aware the most complete explanation was giiven by David
Wagner
in his book "Power Programming With Mathematica The Kernel".  Unfortunately
this wonderful book is out of print!

However, there are some things that have never been explained as far as I
know.

(1)   How does pattern matching and all the tricky things that go with it
(HoldPattern, Verbatim, OneIdentity, DefaultValues, ...)  fit into the
Mathematica evaluation process?

(2)   How do definitions assigned to  \$PreRead, \$Pre, \$Post, \$PrePrint,
MakeExpression, MakeBoxes, Format[symb]  fit into the evaluation process?  I
tried to explain what these things do and the order in which they are used
on my website.
but I couldn't  determine with good confidence where they fit in the
evaluation process.

(3)   The definition   foo[a_][x_,y_]:={a,x^2-y^2}  is stored in
SubValues[foo].  When in the evaluation process is such a definition used?

(4)   A definitions for  N[foo[x_]]  is stored in  NValues[foo].  When in
the evaluation process are the NValues used?

(5)   When in the evaluation process does the kernel use or change
assignments to \$IterationLimit, \$HistoryLength, \$MessageList, Out[n]?

----------------------
Regards,
Ted Ersek

```

• Prev by Date: Re: Comment lines in different colour or font
• Next by Date: Re: integrat trig radical
• Previous by thread: Re: Speed Tips
• Next by thread: Re: Mathematica Evaluation Process