Are there any videos that show how different Mathematica expressions are represented internally as object graphs and demonstrate how they are transformed during an evaluation?
I am asking because I believe it can help to develop better intuition about the evaluation process, in particular, which parts of expressions are shared, and which are copied, what happens when different scoping constructs are evaluated, how parts of expressions are modifoed, how evaluation rules are selected from up- and downvalues and how pattern matching is performed etc.
I found some interesing animations at http://reference.wolfram.com/flash, but they are mostly intended to give intuition about what are the results of some built-in functions, rather than the evaluation process itself.
Trace
command might be one way to approach the evaluation part of the question. $\endgroup$ – bill s Jun 26 '13 at 5:05