Symbolic programming has been a core idea in
Mathematica since the very beginning. But it is a big idea and an abstract idea. And people understandably just want to know what the bottom-line benefit is, and could care less about what went into making it happen. Fortunately,
Mathematica 6 is making it a lot easier to illustrate ideas about symbolic computation in visual and interactive forms.
High-Level Functions
For starters, illustrating the core programming primitives with visual examples is a piece of cake with the new graphics and typesetting functions. For example,
Map will take a function and apply it to each element in a list:
NestList will take a function and apply it over and over again to the initial seed, returning a list of all the iterations:
Programming in Mathematica is based on transforming trees. The built-in function
TreeForm allows us to visually represent the tree backbone of Mathematica programs and data structures: