I started to read a new book about Scala. You can read it online or you can buy it.
The simply definition for pure functional programming:
- Totality return a value for every possible input
- Determinism return the same value for the same input
- Purity the only effect is the computation of a return value.