Mathematica Functional Programming Vs Declarative Programming