[Underlying] structure of Mathematica

Beneath all the sophisticated capabilities of Mathematica lies a remarkably simple basic structure. The key idea is to represent data of any kind by a symbolic expression of the general form head[arg_{1}, arg_{2}, …]. (a+b^{2} is thus Plus[a, Power[b, 2]], {a, b, c} is List[a, b, c] and a=b+1 is Set[a, Plus[b, 1]].) The basic action of Mathematica is then to transform such expressions according to whatever rules it knows. Most often these rules are specified in terms of Mathematica patterns—expressions in which _ can stand for any expression.