Mathematica includes a rich and powerful programming language.
It combines the procedural, functional,
and rule-based programming styles
in a single coherent system.
We describe the design decisions taken in implementing Mathematicas
programming language and compare the different programming styles in
the way they present themselves in Mathematica.